mysql一次更新多条记录

使用case when then(具体语法参考:mysql when case 语法 | 52的小窝 (52dixiaowo.com)

case <where字段> when <where字段值> then <更新字段新值>

比如:

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

一次更新多个值,稍作修改:

UPDATE categories 
    SET display_order = CASE id 
        WHEN 1 THEN 3 
        WHEN 2 THEN 4 
        WHEN 3 THEN 5 
    END, 
    title = CASE id 
        WHEN 1 THEN 'New Title 1'
        WHEN 2 THEN 'New Title 2'
        WHEN 3 THEN 'New Title 3'
    END
WHERE id IN (1,2,3)

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注