teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

質問が変わったので書き直し

2016/06/13 07:24

投稿

maisumakun
maisumakun

スコア146649

answer CHANGED
@@ -1,3 +1,1 @@
1
- `NOT EXISTS`に書く条件にもよりますが、主キーやユニークキーが衝突した場合は`INSERT`しい」という条件の場合は`INSERT IGNORE`で片付けてしまうこもできます。
1
+ 「ユニークキーが衝突した場合は`UPDATE`しい」ということでしたら、`ON DUPLICATE KEY UPDATE`という、そのまな名前の構文がありま([リファレンス](https://dev.mysql.com/doc/refman/5.6/ja/insert-on-duplicate.html))
2
-
3
- そうでないような、別なテーブルを引く条件の場合はトランザクションに入るほかないかもしれません(どちらにしろ、条件次第です)。