使用一个查询进行MySQL多行更新

时间:2013-08-05 19:14:31

标签: php mysql

我有一个MySQL表如下图所示: enter image description here

我的表单编辑如下图所示: enter image description here

(数据库上的路径列选择图像2上的类别)。

如何使用PDO预处理语句为此运行多行MySQL Update查询。

1 个答案:

答案 0 :(得分:1)

您实际上可以使用MySQL的CASE来更新多行。这也可以针对多个列完成,并且语句在PHP中生成并不困难。

UPDATE `links` SET `name` = CASE `link_id`
    WHEN '36' THEN 'Mc'
    WHEN '37' THEN 'Mc'
    WHEN '38' THEN 'sdfghjkl'
    WHEN '39' THEN 'r5tyuikolp;['
END, `path` = CASE `link_id`
    WHEN '36' THEN '2'
    WHEN '37' THEN '1'
    WHEN '38' THEN '2'
    WHEN '39' THEN '7'
END WHERE `link_id` IN ('36','37','38','39');