sql >> Databasteknik >  >> RDS >> Mysql

Massuppdatera mysql med where-satsen

Den enklaste lösningen i ditt fall är att använda ON DUPLICATE KEY UPDATE konstruktion. Den fungerar riktigt snabbt och gör jobbet på ett enkelt sätt.

INSERT into `table` (id, fruit)
    VALUES (1, 'apple'), (2, 'orange'), (3, 'peach')
    ON DUPLICATE KEY UPDATE fruit = VALUES(fruit);

eller för att använda CASE konstruktion

UPDATE table
SET column2 = (CASE column1 WHEN 1 THEN 'val1'
                 WHEN 2 THEN 'val2'
                 WHEN 3 THEN 'val3'
         END)
WHERE column1 IN(1, 2 ,3);


  1. SQL Server:SUM() av ​​flera rader inklusive where-satser

  2. De tio bästa anledningarna till att migrera från Oracle till PostgreSQL

  3. Django :mysql :1045, åtkomst nekad för användaren

  4. Hur uppdaterar man fält för att lägga till värde till befintligt värde?