原文地址: MySQL IN 和 NOT IN () 空列表报错
欢迎访问我的博客: http://blog.duhbb.com/
- 如果你主动在 SQL 语句中写
IN (), 则会报错;常见于 MyBatis 或者自己拼写的 SQL 语句中, 如果使用字面量一定要注意这一点; - 如果你是
IN (SELECT xxx FROM xxx)这种的话, 即使SELECT xxx FROM xxx为空也不会报错.
比较好奇的是, 感觉这个挺简单的, 为啥 MySQL 就不处理一下呢?
要是我读懂了 MySQL 的源码, 我就把这个特性加上去, 嘿嘿!
博客探讨了MySQL中使用IN和NOT IN操作符时遇到的空列表报错问题。当直接使用字面量如'IN()'时,MySQL会报错,而如果是子查询形式如'IN(SELECT xxx FROM xxx)',即使子查询结果为空也不会出错。作者对于MySQL未处理这种情况表示好奇,并表达了如果理解了源码会尝试修复这个特性的想法。
795

被折叠的 条评论
为什么被折叠?



