概要
phpMyadminにCSVの特定の列の値で特定のカラムをupdateしようとして1時間迷子になったので。
もし、同じように必死にやり方を探しているのであれば、CSVを使ってSQL文を書くべき。
CSVを利用してSQLを書く
A | B | C | D |
---|---|---|---|
1 | id | updateしたい値の列 | SQL文(関数表記) |
2 | 1 | A | "UPDATE 'テーブル名' SET '更新したいカラム名' =" & B2 & "WHEN 'id' =" & A2 ";" |
3 | 2 | A | "UPDATE 'テーブル名' SET '更新したいカラム名' =" & B3 & "WHEN 'id' =" & A3 ";" |
D列のように書くことで簡単にコピーができるSQL文が完成する。
上記は関数での書き方なので一見歪だが、出来上がるのは下記のようなSQL文。
UPDATE 'テーブル名' SET '更新したいカラム名' = 'A' WHEN 'id' = 1;
注意点としてはテーブル名やカラム名を囲うのは「’」ではなく「`」であること。
(今回はマークアップで上手く表現できないので、「’」を使ってます。)
流石に10000件等になってくると別の方法を考えた方が良い気がするが、ある程度ならばこれですぐに対処できるはず。
あとは、D列にて作成したSQL文を、phpMyadminにコピペ&実行すればOK
(画像は一部内容が見えないように塗りつぶしてます。)