【メモ】 Uniqueなキーが存在するTableへのInsert。
Uniqueなキーが存在するテーブルに値を挿入するとき、一旦SELECTして存在を確かめてから挿入する(存在していればUPDATE)か、無理矢理INSERTしてエラーメッセージで重複しているかどうか判断した上でUPDATEするか…なんてことを今までやっていました。 さすがになんか書き方があるんだろうとか思って、とりあえず思いついたのは「IF」とか「EXISTS」とかでググってたんだけども、もっと全然シンプルな話だったんですね。。
あああ。穴があったら入りたい。重複キーがあれば無視する。INSERT IGNORE INTO table (f1,f2) VALUES (‘d1′,’d2’);重複キーがあればアップデート。INSERT INTO table (f1,f2) VALUES (‘d1′,’d2′) ON DUPLICATE KEY UPDATE f2=’d2’;