原文地址: MySQL IN 和 NOT IN () 空列表报错
欢迎访问我的博客: http://blog.duhbb.com/
- 如果你主动在 SQL 语句中写
IN ()
, 则会报错;常见于 MyBatis 或者自己拼写的 SQL 语句中, 如果使用字面量一定要注意这一点; - 如果你是
IN (SELECT xxx FROM xxx)
这种的话, 即使SELECT xxx FROM xxx
为空也不会报错.
比较好奇的是, 感觉这个挺简单的, 为啥 MySQL 就不处理一下呢?
要是我读懂了 MySQL 的源码, 我就把这个特性加上去, 嘿嘿!