首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL更新多列

MySQL更新多列
EN

Stack Overflow用户
提问于 2017-01-18 10:02:55
回答 4查看 335关注 0票数 2
代码语言:javascript
复制
$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语句所示:

代码语言:javascript
复制
UPDATE zutaten SET Menge=('42','75','8','90','23','82','33') WHERE Zutat_ID IN('7','8','9','22','23','24','25')

我想做的是:

代码语言:javascript
复制
Update Menge='42' Where Zutat_ID is '7' AND Update Menge ='75' Where Zutat_ID = '8' ...

但是在一个SQL语句中。有人能告诉我这是否可能吗?我该怎么做?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-01-18 10:12:45

考虑到两个数组具有相同的计数,请尝试以下方法

代码语言:javascript
复制
$count = 7;

for ($i=0; $i<$count; $i++) {
    $sql5= "UPDATE zutaten SET Menge=$mengetotzut[$i] WHERE Zutat_ID = $zutatiddd[$i]";
    $run_query = mysqli_query($con,$sql5);
}
票数 0
EN

Stack Overflow用户

发布于 2017-01-18 10:09:09

使用前馈回路

代码语言:javascript
复制
foreach( $mengetotzut as $index => $code ) {
$sql5= "UPDATE zutaten SET Menge=('$code') WHERE Zutat_ID = $zutatiddd[$index];
 $run_query = mysqli_query($con,$sql5);   
}
票数 0
EN

Stack Overflow用户

发布于 2017-01-18 10:13:27

您可以使用SQL查询,如下所示,只需一次就可以使用UPDATE

代码语言:javascript
复制
UPDATE zutaten AS t1
JOIN (
    SELECT 7 AS Zutat_ID, 42 AS Menge
    UNION ALL
    SELECT 8, 75
    UNION ALL
    SELECT 9, 8
) t2 ON t1.Zutat_ID = t2.Zutat_ID
SET t1.Menge = t2.Menge
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41716385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档