2013-08-05 46 views
-1

我有一个MySQL表,如下图: enter image description hereMySQL的多行更新使用一个查询

我有我的表格编辑,如下图: enter image description here

(路径列在数据库中选择类别如图2)。

如何使用PDO准备语句对此进行多行MySQL更新查询。

+0

可能重复(http://stackoverflow.com/questions/3432/multiple-updates-in-mysql) – jli

+0

是,它们都依赖于WHERE link_id IN(... )。这种性质的东西。 @jli我想你应该检查一下,看看他们是否只有MySQL上的PDO,然后再标记。 – OmniPotens

回答

1

你实际上可以使用MySQL的CASE来更新多行。这也可以在多列中完成,并且这些语句在PHP中不会很难生成。 [在MySQL多项更新]的

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'); 
+0

谢谢领先。假设我要运行这个相同的查询来循环遍历1000行,那么我如何去执行循环,然后执行这个查询来获得与您提供的示例解决方案相同的结果。 – OmniPotens