gpt4 book ai didi

php - 有两个条件的SQL查询,更新一个匹配

转载 作者:行者123 更新时间:2023-11-29 01:59:12 25 4
gpt4 key购买 nike

表:

id fid nfid
1 10 44
2 44 5
3 18 8

变量:

$oldid = 44;
$newid = 99;

当前查询:

UPDATE Table SET fid = $newid WHERE fid = $oldid OR nfid = $oldid

这显然会将 fid 更新为 $newid,但我希望它更新 fid 或 nfid,以 WHERE 子句中匹配的那个为准。这是否可以在一个查询中完成,还是我必须进行两次更新?

伪SQL:

UPDATE Table SET fid = $newid OR nfid = $newid WHERE fid = $oldid OR nfid = $oldid

乐于接受任何输入。谢谢。

最佳答案

你必须使用 IF,我还在那里添加了引号,以便更好地阅读它:

mysql_query("
UPDATE Table
SET
fid = IF (fid = ".$oldid.", ".$newid.", fid),
nfid = IF (nfid = ".$oldid.", ".$newid.", nfid)
";

解释:

如果fid = $oldid,那么它将执行fid = $newid,否则它将保留值(fid = fid)

如果nfid = $oldid,那么它将执行nfid = $newid,否则它将保留值(nfid = nfid)

关于php - 有两个条件的SQL查询,更新一个匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19567616/

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