gpt4 book ai didi

mysql - PHP/MySQL : batch update multiple values

转载 作者:可可西里 更新时间:2023-11-01 07:49:55 26 4
gpt4 key购买 nike

我已经想出了如何在每条记录的值相同时使用以下方法进行批量更新:

UPDATE tbl SET col1='foo1' WHERE id IN (1,2,3)

如果我有一个逗号分隔的值字符串,与 ID 匹配,我可以进行批量更新以不同方式更新值

UPDATE tbl SET col1='1,0,1' WHERE id IN (1,2,3)

感谢您的建议:

编辑:

将数据发送到此查询的 html 页面由如下复选框组成:

<input type="checkbox" name="id[]" value="1"><input type="hidden" name="col1[]" value=0> 
<input type="checkbox" name="id[]" value="2"><input type="hidden" name="col1[]" value=1>
<input type="checkbox" name="id[]" value="3"><input type="hidden" name="col1[]" value=0>

等最多 20 个盒子。

在服务器端,发布的数组使用 implode 转换为逗号分隔的字符串,所以我最终得到两个字符串,1,0,1 代表值,1,2,3 代表 id。但是用户最多可以从此页面选中 20 个框。也许我必须以某种方式操纵数组。请注意,在实际示例中,id 不是 1、2、3,而是可能是 221、433、512、600 等,具体取决于用户检查的内容

最佳答案

第二个查询会将每行 1、2、3 更新为相同的值“1,0,1”

我想你需要的是

  UPDATE mytable
SET myfield = CASE other_field
WHEN 1 THEN 'value'
WHEN 2 THEN 'value'
WHEN 3 THEN 'value'
END
WHERE id IN (1,2,3)

引用资料 http://www.karlrixon.co.uk/writing/update-multiple-rows-with-different-values-and-a-single-sql-query/

关于mysql - PHP/MySQL : batch update multiple values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13232581/

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