2014年7月2日水曜日

MySQLでMerge文

MERGE , UPSERTといわれる、INSERTとUPDATEを組み合わせた処理。

MySQLでは、[REPLACE]または[INSERT ON DUPLICATE KEY UPDATE]で
実装する事が出来ます。

[REPLACE]
http://dev.mysql.com/doc/refman/4.1/ja/replace.html

[記述例]

REPLACE INTO TARGET_TABLE (COL1,COL2,COL3) VALUES ('1','2','3');

内部的にはDELETE INSERTということなので、タイムスタンプ等の保持で工夫は必要。

ただ、圧倒的に楽にはなりそうです。
(実際、DELETEINSERTを書くところだったので

0 件のコメント: