- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2019-03-28T21:29:05+09:00","default:ryuichi","ryuichi")
#author("2019-03-28T22:11:10+09:00","default:ryuichi","ryuichi")
* 主キーがなければINSERTしてあればUPDATE - INSERT ON DUPLICATE KEY UPDATE [#kd12087e]
CREATE TABLE t1 ( id1 int UNIQUE, id2 int) ;
CREATE TABLE t1 ( id1 int UNIQUE, id2 int);
INSERT INTO t1 ( id1, id2 ) VALUES ( 1, 100 ) ON DUPLICATE KEY UPDATE id2 = id2 + 1;
INSERT INTO t1 ( id1, id2 ) VALUES ( 1, 100 ) ON DUPLICATE KEY UPDATE id1 = VALUES(id1);
+------+------+
| id1 | id2 |
+------+------+
| 1 | 100 |
+------+------+
INSERT INTO t1 ( id1, id2 ) VALUES ( 1, 101 ) ON DUPLICATE KEY UPDATE id1 = VALUES(id1);
INSERT INTO t1 ( id1, id2 ) VALUES ( 1, 100 ) ON DUPLICATE KEY UPDATE id2 = id2 + 1;
+------+------+
| id1 | id2 |
+------+------+
| 1 | 100 |
+------+------+
INSERT INTO t1 ( id1, id2 ) VALUES ( 1, 101 ) ON DUPLICATE KEY UPDATE id2 = id2 + 1;
+------+------+
| id1 | id2 |
+------+------+
| 1 | 101 |
+------+------+
** 参考 [#t31d29e8]
https://stackoverflow.com/questions/6030071/mysql-table-insert-if-not-exist-otherwise-update