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

回答編集履歴

2

文法の出典を追加

2021/06/18 04:37

投稿

退会済みユーザー
answer CHANGED
@@ -11,6 +11,7 @@
11
11
  INSERT INTO文でできることは、せいぜい
12
12
  主キーが重複したから無視するor更新クエリーに切り替える、
13
13
  ってくらいかと。
14
+ [MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.5 INSERT 構文](https://dev.mysql.com/doc/refman/5.6/ja/insert.html)
14
15
 
15
16
  一貫性や整合性を検査する役割は予めテーブルに対して制約constraintや
16
17
  外部参照キーforeign keyなどでやるもので、

1

加筆

2021/06/18 04:37

投稿

退会済みユーザー
answer CHANGED
@@ -6,4 +6,13 @@
6
6
  [MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.1.7 ALTER TABLE 構文](https://dev.mysql.com/doc/refman/5.6/ja/alter-table.html)
7
7
 
8
8
  でも、いきなりINSERT INTO文をぶつけて制約に違反したってエラーを発生させるよりも、
9
- 事前に重複しないかをSELECT文実行した方がいいんでない?
9
+ 事前に重複しないかをSELECT文実行した方がいいんでない?
10
+
11
+ INSERT INTO文でできることは、せいぜい
12
+ 主キーが重複したから無視するor更新クエリーに切り替える、
13
+ ってくらいかと。
14
+
15
+ 一貫性や整合性を検査する役割は予めテーブルに対して制約constraintや
16
+ 外部参照キーforeign keyなどでやるもので、
17
+ 都度挿入クエリーや更新クエリーでやることじゃない。
18
+ 直前に選択クエリーして判断する、ってことになるかと。