gpt4 book ai didi

mysql - 为什么这个 IF-STATEMENT 在 MySQL 中不能工作?

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

INSERT INTO individual_key_log (stuff, stuff1, stuff2) 

VALUES("YOUR_PK_NAME_HERE", 2, 3)

ON DUPLICATE KEY UPDATE stuff="YOUR_PK_NAME_HERE",

IF (1 > 0) THEN
SET stuff1 = 1;
ELSE
SET stuff1 = 2;
END IF;

如何实现上述逻辑?我正在使用 MariaDB。

最佳答案

检查IF syntax in manual 。你的语法是错误的。你可以试试这个:

INSERT INTO individual_key_log (stuff, stuff1, stuff2) 
VALUES("YOUR_PK_NAME_HERE", 2, 3)
ON DUPLICATE KEY UPDATE stuff="YOUR_PK_NAME_HERE", stuff1 = IF(1 > 0, 1, 2)

更新

如果您不想更新值并保持原样,请使用此查询。

INSERT INTO individual_key_log (stuff, stuff1, stuff2) 
VALUES("YOUR_PK_NAME_HERE", 2, 3)
ON DUPLICATE KEY UPDATE stuff1 = IF(X > 0, VALUES(stuff1), stuff1)

如果 IF 内的条件为真,stuff1 将使用 INSERT 中的新值进行更新。否则它将保持不变。

关于mysql - 为什么这个 IF-STATEMENT 在 MySQL 中不能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37512789/

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