gpt4 book ai didi

mysql - 从存储过程更新,但仅当变量不为空时

转载 作者:行者123 更新时间:2023-11-29 05:57:18 25 4
gpt4 key购买 nike

有没有一种简单的方法可以在存储过程中执行单个更新语句,这样我们就可以忽略符合特定条件的变量?

例如一般声明是:

更新 XYZ 设置 a = z、b = y、c = x

但是如果 y 为 NULL 那么它会忽略语句的 b = y 段?

我不想为每个变量使用 IF,然后构建并连接一条语句或逐一更新列...

我看过Here它似乎走在正确的轨道上,但我认为它是为了更新值(如果它为 NULL),而不是如果变量本身为 null?!

我正在使用 MySQL,但不太好用。而且我不知道以上就是我所追求的,其他搜索被证明是徒劳的。

最佳答案

只需使用coalesce():

UPDATE XYZ
SET a = z,
b = COALESCE(y, b),
c = x;

关于mysql - 从存储过程更新,但仅当变量不为空时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48263744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com