读起来不是很理解,验证后是这样的
我的理解是,在通过内链接查询到一条记录后,如果不符合LEFT JOIN ON condition(条件)直接过滤,当正好有一条记录符合了这条记录,然后在走where后面的条件,这么写:where col_name IS NULL,在这里就会就会停止查找,正好是在第一条满足LEFT JOIN ON condition(条件)条件的记录时停止了。原因是,该字段定义为NOT NULL,表中这个字段肯定不会有NULL值,但是where条件里却要去查该字段为NULL时候的值,查找和定义冲突了。
我的理解是,在通过内链接查询到一条记录后,如果不符合LEFT JOIN ON condition(条件)直接过滤,当正好有一条记录符合了这条记录,然后在走where后面的条件,这么写:where col_name IS NULL,在这里就会就会停止查找,正好是在第一条满足LEFT JOIN ON condition(条件)条件的记录时停止了。原因是,该字段定义为NOT NULL,表中这个字段肯定不会有NULL值,但是where条件里却要去查该字段为NULL时候的值,查找和定义冲突了。
2015-05-01
最赞回答 / 海布里小松鼠
1.mysql> set global log_bin_trust_function_creators = 1;2. 系统启动时 --log-bin-trust-function-creators=13. 在my.ini(linux下为my.conf)文件中 [mysqld] 标记后加一行内容为 log-bin-trust-function-creators=1
2015-04-30