Php MYSQL IF(expr1、expr2、expr3),但我不&x2019;我不需要任何expr3(如果是expr3,则不输出任何内容

Php MYSQL IF(expr1、expr2、expr3),但我不&x2019;我不需要任何expr3(如果是expr3,则不输出任何内容,php,mysql,Php,Mysql,正如标题所说,如果if匹配,我只需要一个输出,如果它不匹配,那么我不需要任何输出 我现在有这个,但它显然有一个错误 ...rFormat=IF(ISNULL(rFormat), VALUES(rFormat),UNCHANGED)… 我环顾四周,但没有真正找到如何做 这个问题有点像 这是在以下上下文中使用的:(如上面的URL所示) 你可以这么做 IF(ISNULL(rFormat), VALUES(rFormat), rFormat) 但是,我不确定此时通过调用VALUES()来实现什么目的

正如标题所说,如果if匹配,我只需要一个输出,如果它不匹配,那么我不需要任何输出

我现在有这个,但它显然有一个错误

...rFormat=IF(ISNULL(rFormat), VALUES(rFormat),UNCHANGED)…
我环顾四周,但没有真正找到如何做

这个问题有点像

这是在以下上下文中使用的:(如上面的URL所示)

你可以这么做

IF(ISNULL(rFormat), VALUES(rFormat), rFormat)
但是,我不确定此时通过调用VALUES()来实现什么目的。

您可以简单地做到

IF(ISNULL(rFormat), VALUES(rFormat), rFormat)

但是,我不确定此时通过调用VALUES()来实现什么目的。

只要在rFormat为NULL的情况下使用
而不是
如果

只要在rFormat为NULL的情况下使用
而不是
如果
尝试以下方法:

rFiles=合并(现有ColumnValue,$newValue)

COALESCE返回第一个非null值。请注意,如果$newValue是字符串,则需要在其周围加引号,并且不要忘记转义。不会在列名(existingColumnValue)周围加引号。如果还查找值为(INT)0且为null的行,则可能需要尝试以下操作:

rFiles=案例存在的ColumnValue 如果为NULL,则为“$newValue” 当为0时,则为“$newValue” 其他现有列值 终局

我必须更改您的列名,以便更好地表达解决方案。我希望您仍能理解。我假设$newValue不是数据库中的另一列,而是从脚本传递的变量。

尝试以下操作:

rFiles=合并(现有ColumnValue,$newValue)

COALESCE返回第一个非null值。请注意,如果$newValue是字符串,则需要在其周围加引号,并且不要忘记转义。不会在列名(existingColumnValue)周围加引号。如果还查找值为(INT)0且为null的行,则可能需要尝试以下操作:

rFiles=案例存在的ColumnValue 如果为NULL,则为“$newValue” 当为0时,则为“$newValue” 其他现有列值 终局


我必须更改您的列名,以便更好地表达解决方案。我希望您仍能理解。我假设$newValue不是数据库中的另一列,而是从脚本中传递的变量。

这是一个长查询的一部分,如我之前发布的另一个问题所示,我不想输出rFormat对于expr3 as,它将覆盖字段中已经存在的内容,这是我不想要的。没问题。Greg的答案比我的好得多!Greg的答案也不起作用,在我的“关于重复密钥更新”查询中也不起作用:(感谢您的尝试)。它将覆盖字段中已经存在的内容"-但是你会使用字段中已经存在的值,因此不会有任何更改。哦,你说得太对了!我认为它是$rFormat。谢谢大家!这是我之前发布的另一个问题中看到的长查询的一部分,我不想为expr3输出rFormat,因为这样会覆盖字段中已经存在的内容,这是我不知道的蚂蚁。没问题。格雷格的答案比我的好得多!格雷格的答案也不起作用,在我的“关于重复密钥更新”查询中也不起作用:(谢谢你的尝试。)它会覆盖字段中已经存在的内容"-但是你会使用字段中已经存在的值,因此没有任何更改。哦,你说得太对了!我认为它是$rFormat。谢谢各位!这在我使用它的查询中不起作用:你能给出一个你试图实现的示例吗?没关系,Tim解决了问题。尽管如此,谢谢你的帮助,我可能需要你的解决方案稍后,我会记录这一切:)这在我使用它的查询中不起作用:你能给出一个你试图实现的例子吗?没关系,蒂姆解决了问题。尽管如此,谢谢你的帮助,我以后可能需要你的解决方案,我会记录这一切:)