1. ホーム
  2. mysql

[解決済み] whereステートメントによるmysqlの一括更新

2022-02-07 22:46:19

質問

mysqlのデータを一括で更新するには? どのようにこのようなものを定義するのですか?

UPDATE `table` 
WHERE `column1` = somevalues
SET  `column2` = othervalues

のような値で、:

VALUES
    ('160009'),
    ('160010'),
    ('160011');

とその他の値:

VALUES
    ('val1'),
    ('val2'),
    ('val3');

mysqlでは無理なのでしょうか? phpスクリプト?

解決方法は?

この場合、最も簡単な解決策は ON DUPLICATE KEY UPDATE を構築します。本当に速く、簡単に仕事ができる。

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

を使用することもできます。 CASE 構造

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);