当每条记录的值相同时,我已经弄清楚如何使用以下方法进行批量更新:
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 等,具体取决于用户检查的内容