gpt4 book ai didi

MYSQL,重复更新和 IF

转载 作者:行者123 更新时间:2023-11-29 12:08:37 27 4
gpt4 key购买 nike

我的查询实际上是:

INSERT INTO `table` (f1,f2,status) VALUES 
(1,5,'on'), (3,2,'on'), (15,20,'on')
ON DUPLICATE KEY UPDATE status='off';

但是如何添加 IF status="on"然后进行此更新?我试过了

INSERT INTO `table` (f1,f2,status) VALUES 
(1,5,'on'), (3,2,'pending'), (15,20,'on')
ON DUPLICATE KEY UPDATE status='off' IF(status='pending');

但似乎不起作用,我不太理解文档中的这部分。

请问有什么帮助吗?

谢谢

最佳答案

这是一个很好的文档和示例,演示了相同的内容 MySQL IF Function .

MySQL IF 函数的语法如下: IF(expr, if_true_expr, if_false_expr)

如果 expr 的计算结果为 TRUE,则 IF 函数返回 if_true_expr,否则返回 if_false_expr

现在,回到你的问题,假设你想用 'on''off''pending' 更新状态或基于状态值 on 的列 status 的用户输入,查询应如下所示:

INSERT INTO `table` (f1,f2,status) VALUES 
(1,5,'on'), (3,2,'pending'), (15,20,'on')
ON DUPLICATE KEY UPDATE status = IF(VALUES(status) = 'on', VALUES(status), 'off');

关于MYSQL,重复更新和 IF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31074851/

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