【问题标题】:mysql wont raise error when sub query in IN clause return empty resultset?当IN子句中的子查询返回空结果集时,mysql不会引发错误?
【发布时间】:2013-11-10 11:41:13
【问题描述】:

当我用空 IN 子句编写查询时,它引发了一个错误。 例如选择 id in() 的城市

如果我在 IN 子句中编写任何返回空结果集的子查询,那么它不会引发错误。

例如选择 id 所在的城市(选择 id where name='abc') 其中子查询返回空结果集。

谁能告诉我这背后发生了什么?

我已阅读此内容,但没有令人信服的答案。 访问Empty IN clause parameter list in MySQL

【问题讨论】:

  • 你想知道 MySQL 的内部工作原理是什么吗?
  • 是的,为什么不……现在我正在寻找这个问题的答案。

标签: mysql


【解决方案1】:

当你写 IN() 时,你会犯语法错误。 当您编写一些子查询时,语法是正确的并且没有检测到错误。换句话说,解析器无法检测到空结果集,因此没有消息。

【讨论】:

    猜你喜欢
    • 2018-07-15
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 2022-10-22
    • 1970-01-01
    • 2019-08-20
    相关资源
    最近更新 更多