回答編集履歴

3

推敲

2018/09/04 01:19

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -5,6 +5,8 @@
5
5
 
6
6
 
7
7
  追記
8
+
9
+ --
8
10
 
9
11
  リファレンスに以下の記述がありますので、ON DELETE CASCADEの定義がされていなければ、
10
12
 

2

推敲

2018/09/04 01:19

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -20,10 +20,10 @@
20
20
 
21
21
  > ~
22
22
 
23
- > ORDER BY はまた、参照整合性の違反を回避するために必要な順序で行を削除する場合も役立ちます。
23
+ > ORDER BY はまた、**参照整合性の違反を回避**するために必要な順序で行を削除する場合も役立ちます。
24
24
 
25
25
 
26
26
 
27
27
  メインの句
28
28
 
29
- > ORDER BY 句が指定されている場合は、指定されている順序で行が削除されます。LIMIT 句は、削除できる行数に制限を設定します。これらの句は単一テーブルの削除に適用されますが、複数テーブルの削除には適用されません。
29
+ > ORDER BY 句が指定されている場合は、指定されている順序で行が削除されます。LIMIT 句は、削除できる行数に制限を設定します。これらの句は単一テーブルの削除に適用されますが、**複数テーブルの削除には適用されません**

1

追記

2018/09/04 01:18

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -1,3 +1,29 @@
1
- そもそも、deleteで複数のテーブルを同時には指定できないでしょう。
1
+ ~~そもそも、deleteで複数のテーブルを同時には指定できないでしょう。~~
2
2
 
3
3
  外部キー制約があるなら、先ず子を削除してから、親を削除するようにしないと。
4
+
5
+
6
+
7
+ 追記
8
+
9
+ リファレンスに以下の記述がありますので、ON DELETE CASCADEの定義がされていなければ、
10
+
11
+ 複数テーブル構文では無理という事では無いかと思います。
12
+
13
+
14
+
15
+ [13.2.2 DELETE 構文](https://dev.mysql.com/doc/refman/5.6/ja/delete.html)
16
+
17
+ 削除の順序
18
+
19
+ > DELETE ステートメントに ORDER BY 句が含まれている場合は、この句で指定されている順序で行が削除されます。これは、主に LIMIT と組み合わせて使用した場合に有効です。
20
+
21
+ > ~
22
+
23
+ > ORDER BY はまた、参照整合性の違反を回避するために必要な順序で行を削除する場合も役立ちます。
24
+
25
+
26
+
27
+ メインの句
28
+
29
+ > ORDER BY 句が指定されている場合は、指定されている順序で行が削除されます。LIMIT 句は、削除できる行数に制限を設定します。これらの句は単一テーブルの削除に適用されますが、複数テーブルの削除には適用されません。