【发布时间】:2017-01-18 10:02:55
【问题描述】:
$mengetotzut = 7','8','9','22','23','24','25 ;
$zutatiddd = 42','75','8','90','23','82','33 ;
$sql5= "UPDATE zutaten SET Menge=('$mengetotzut') WHERE Zutat_ID IN('$zutatiddd')";
$run_query = mysqli_query($con,$sql5);
SQL 语句的样子:
UPDATE zutaten SET Menge=('42','75','8','90','23','82','33') WHERE Zutat_ID IN('7','8','9','22','23','24','25')
我想做的是:
Update Menge='42' Where Zutat_ID is '7' AND Update Menge ='75' Where Zutat_ID = '8' ...
但在一个 SQL 语句中。有人可以告诉我这是否可行,我该怎么做?
【问题讨论】:
-
为什么不使用 foreach 和循环
-
@coder ai 怎么能做到这一点?
-
您不能在一个查询中进行多次更新。您可以使用“ON DUPLICATE KEY UPDATE”子句进行多次插入来完成您的目的。你可以在这里找到解释:stackoverflow.com/questions/3432/multiple-updates-in-mysql
-
通过简单的 for 或 foreach 循环,您可以遍历 $mengetotzut 和 $zutatiddd 数组。您不能为您的目的执行单个 sql 语句。您必须执行与数组中的项目一样多的更新语句。在重复键上插入假定严格规范化的数据结构。但是试试 SBO 的评论。
-
@SBO 是的,您可以,链接问题中的第二个答案显示您可以使用 CASE。
标签: php mysql sql-update multiple-columns