gpt4 book ai didi

php mysql 更新 1 查询而不是更多

转载 作者:太空宇宙 更新时间:2023-11-03 12:23:50 27 4
gpt4 key购买 nike

我有带 ID 和排序的表,我需要创建此更新

mysql_query("
UPDATE `steps` SET sort = '2' WHERE id = '9' ;
UPDATE `steps` SET sort = '1' WHERE id = '5' ;
UPDATE `steps` SET sort = '3' WHERE id = '6' ;
UPDATE `steps` SET sort = '4' WHERE id = '4' ;
UPDATE `steps` SET sort = '5' WHERE id = '2' ;
UPDATE `steps` SET sort = '6' WHERE id = '1' ;
UPDATE `steps` SET sort = '7' WHERE id = '8' ;
");

这样的事情是不正确的

mysql_query("UPDATE `steps` SET sort = '2' WHERE id = '9' , sort = '1' WHERE id = '5' , sort = '3' WHERE id = '6' ;");

如何缩小它?你有什么想法吗?

最佳答案

mysql_query 不支持使用单个字符串运行多个查询。 MySQL 我通过 mysqli_multi_query 对此提供了支持,但我个人认为这是一种反模式。据我所知,PDO不支持它。

你可以做的是使用多个 mysql_query 语句,但也可以在一个查询中完成:

UPDATE steps SET sort = CASE
WHEN id = 9 THEN 2
WHEN id = 5 THEN 1
ELSE sort
END CASE

在新代码中使用 PDOmysqli 而不是 ext/mysql

关于php mysql 更新 1 查询而不是更多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18540623/

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