我需要一个条件,当与 IN 条件一起使用时,它不会返回任何结果。我最初认为这会起作用,但它仍然返回结果:
SELECT * FROM MyTable WHERE myColumn IN (SELECT FALSE FROM dual WHERE FALSE);
我可以在 IN 条件中加入一个条件,让它始终不返回任何结果吗?
注意:这是在 PHP 函数中使用的,其中列可以是具有任何值的任何类型。
最佳答案
使用 null
而不是 false
。当 null
出现在一个表达式中时,它总是导致一个整体的 null
值(有一些异常(exception),比如 is null
但不是这个in
的上下文):
... in (select null from dual where null)
关于MySQL IN 条件获取始终为 false 条件的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38061175/