gpt4 book ai didi

MySQL更新错误

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:37 25 4
gpt4 key购买 nike

UPDATE `Starcraft2uvsu` 
SET IF(`Starcraft2uvsu`.username = 'wasd', 'report1', 'report2' ) = 'Win'
FROM `Starcraft2uvsu`
WHERE `Starcraft2uvsu`.username = 'wasd'

phpmyadmin 吐出的错误是...

#1064 - You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near
'If(Starcraft2uvsu.username = wasd, 'report1', 'report2') = 'Win' FROM Starcraft2' at line 1

甚至可以通过 if 语句设置列名吗?我想这就是凶手。

神奇的查询是答案和评论的组合..

UPDATE Starcraft2uvsu 
SET report1 = CASE WHEN Starcraft2uvsu.username = 'wasd' THEN 'win' ELSE report1 END,
report2 = CASE WHEN Starcraft2uvsu.username <> 'wasd' THEN 'win' ELSE report2 END
WHERE Starcraft2uvsu.username = 'wasd' OR Starcraft2uvsu.username2 = 'wasd'

最佳答案

很难从语法中准确判断您要更新的内容。您想要使用类似于此的 CASE 语句:

UPDATE Starcraft2uvsu 
SET report1 = CASE WHEN Starcraft2uvsu.username = 'wasd' THEN 'win' ELSE report1 END,
report2 = CASE WHEN IFNULL(Starcraft2uvsu.username,'') <> 'wasd' THEN 'win' ELSE report2 END
FROM Starcraft2uvsu
WHERE Starcraft2uvsu.username = 'wasd'

关于MySQL更新错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6825745/

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