MySQL查询不做任何事情(如pass)

MySQL查询不做任何事情(如pass),mysql,Mysql,许多语言都有一个填充语句语法位置的结构,但没有效果:在Python中传递、\relax在TeX中传递、在Fortran中继续;在C和Perl中 它在MySQL中的等价物是什么?也就是说,这是一个语法正确但没有效果的查询——除了像SELECT*from table LIMIT 0这样令人困惑的表达式之外 当查询是自动生成的,并且在某个时候生成过程预期会生成一个查询,但没有要执行的操作时,这非常有用。首先想到的是选择null或类似的内容 编辑: 与SELECT null不同,set@noop=nul

许多语言都有一个填充语句语法位置的结构,但没有效果:在Python中传递、\relax在TeX中传递、在Fortran中继续;在C和Perl中

它在MySQL中的等价物是什么?也就是说,这是一个语法正确但没有效果的查询——除了像SELECT*from table LIMIT 0这样令人困惑的表达式之外


当查询是自动生成的,并且在某个时候生成过程预期会生成一个查询,但没有要执行的操作时,这非常有用。

首先想到的是选择null或类似的内容

编辑: 与SELECT null不同,set@noop=null不显示此查询:

SELECT 1 FROM DUAL WHERE false
或者在MySql 8.0+中更简单:

SELECT 1 WHERE false

如果这是您说“无效果”时的意思,则不返回任何内容。

这会起作用。它返回空值。谢谢,我误解了“什么都不做”的意思。clear呢?以前从未见过DUAL。这代表什么?在没有表被引用的情况下,一个虚拟表名是的,我在5.6参考中看到了,但我没有看到真正的差异选择1+1;并从双通道中选择1+1;除此之外,执行相同的无效果要求。它是首字母缩略词还是它的用途?select 1+1和select 1+1 from dual在所有版本的MySql中都是完全相同的。但是在8.0dual之前的版本中,where子句只允许使用from dual,它是一个只有一行的伪表,被许多数据库(如MySql、Oracle、Postgresql)使用。读这个:和