我知道这个问题在这些论坛上可能被问了太多次,但我真的找不到可靠的答案。他们都给出了不同的方法。
无论如何,我有这段代码可以更新一行:
$sql = "UPDATE $userName SET P1 = '$p1MON' WHERE day = 'MON1'";
是否可以在同一查询中更新多行?像这样:
$sql = "UPDATE $userName SET P1 = '$p1MON' WHERE day = 'MON1',
UPDATE $userName SET P1 = '$p1TUE' WHERE day = 'TUE1',
UPDATE $userName SET P1 = '$p1WED' WHERE day = 'WED1'";
或者,要在一个查询中更新多行,它们是否必须共享一个标识符?
谢谢。
编辑:评论中的建议似乎不起作用...
$sql = "UPDATE $userName SET P1 = '$p1MON' WHERE day = 'MON1';
UPDATE $userName SET P1 = '$p1TUE' WHERE day = 'TUE1';
UPDATE $userName SET P1 = '$p1WED' WHERE day = 'WED1'";
最佳答案
使用 case
表达式:
UPDATE $userName
SET P1 = case day
when 'MON1' then '$p1MON'
when 'TUE1' then '$p1TUE'
when 'WED1' then '$p1WED'
end
where day IN ('MON1', 'TUE1', 'WED1')
关于php - 如何在一个查询中更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42271281/