MySQL IN语法注意事项一则
MySQL IN语法注意事项一则
swingcoder 发表于4个月前
MySQL IN语法注意事项一则
  • 发表于 4个月前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

最近发现mysql中,Int型字段的默认值会直接影响IN语法的查询。

如test表有个字段uid为int类型,默认值如果允许NULL,则下面的代码统计会不正确。

//返回110条记录
SELECT
	count(1)
FROM
	test


//若返回2条数据
SELECT
	count(1)
FROM
	test
WHERE
uid in (select uid from member where is_test=1)


//返回100条记录,没有返回108条正确记录
SELECT
	count(1)
FROM
	test
WHERE
uid not in (1111)//括号里的是何值没有关系,结果都不正确

将uid字段默认改为0,同是修改旧数据为NULL的为0再执行上述SQL,结果正常。

看样子,NULL值对IN语法产生了干扰

共有 人打赏支持
粉丝 27
博文 218
码字总数 50810
×
swingcoder
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: