not in 得到的数据为空
执行以下SQL,按照正常思维逻辑来说,应该下图数据。
SELECT * FROM t1 WHRER t1.id NOT IN (NULL,1)
实质上得到的却是
这个故事告诉我们,在实际生产中,一定要尽量少的使字段值为null可以使用“NULL”来填充避免出现类似问题。
ID是int类型,我查询数字开头的字符串可以查到?
Mysql会自动截取字符串为数字的部分,直到遇到字符串,而且这种查询是全表扫描,不会走索引的~
执行以下SQL,按照正常思维逻辑来说,应该下图数据。
SELECT * FROM t1 WHRER t1.id NOT IN (NULL,1)
实质上得到的却是
这个故事告诉我们,在实际生产中,一定要尽量少的使字段值为null可以使用“NULL”来填充避免出现类似问题。
Mysql会自动截取字符串为数字的部分,直到遇到字符串,而且这种查询是全表扫描,不会走索引的~