回答編集履歴

4

謝った回答の可能性があったため

2017/07/18 12:35

投稿

tomari_perform
tomari_perform

スコア760

test CHANGED
@@ -1,33 +1,9 @@
1
1
  解決方法(そもそも外部キーを設定せず、インデックスにする等)は理解されているようなので、
2
2
 
3
- 原因を回答します。
3
+ 原因の特定方法を回答します。
4
4
 
5
5
 
6
6
 
7
- T_TradeList内のforeign key (F_StaffName) references T_Staff(F_StaffName),
8
-
9
- が外部キーではなく、T_Staff内の主キーに含まれているため、エラーになっています。
10
-
11
-
12
-
13
- そして、T_TradeListテーブルの作成に失敗しているため、
14
-
15
- T_CustomerShohin内のforeign key (F_TradeNum) references T_TradeList(F_TradeNum)
16
-
17
- で失敗しているエラーです。
18
-
19
-
20
-
21
- 上記が原因なので、この外部キーだけ外すか、
22
-
23
- してエラーを取る形でも良いかと思います。
24
-
25
-
26
-
27
-
28
-
29
- なお、細かく見てないので、違うかもしれませんが、
30
-
31
- 原因特定方法については、create table文内の
7
+ T_TradeListテーブルのcreate table文内の
32
8
 
33
9
  foreign key句を1行ずつ削除して実行、を繰り返して特定できると思います。

3

微修正

2017/07/18 12:35

投稿

tomari_perform
tomari_perform

スコア760

test CHANGED
@@ -1,6 +1,6 @@
1
1
  解決方法(そもそも外部キーを設定せず、インデックスにする等)は理解されているようなので、
2
2
 
3
- 原因を。
3
+ 原因を回答します
4
4
 
5
5
 
6
6
 
@@ -18,4 +18,16 @@
18
18
 
19
19
 
20
20
 
21
+ 上記が原因なので、この外部キーだけ外すか、
22
+
21
- 上記が原因なので、この外部キーだけ外してエラーを取る形でも良いかと思います。
23
+ してエラーを取る形でも良いかと思います。
24
+
25
+
26
+
27
+
28
+
29
+ なお、細かく見てないので、違うかもしれませんが、
30
+
31
+ 原因の特定方法については、create table文内の
32
+
33
+ foreign key句を1行ずつ削除して実行、を繰り返して特定できると思います。

2

すみません、謝った回答を記載しました。正しい内容に変更しました。

2017/07/18 12:34

投稿

tomari_perform
tomari_perform

スコア760

test CHANGED
@@ -1,31 +1,21 @@
1
1
  解決方法(そもそも外部キーを設定せず、インデックスにする等)は理解されているようなので、
2
2
 
3
- 原因だけ
3
+ 原因
4
4
 
5
5
 
6
6
 
7
+ T_TradeList内のforeign key (F_StaffName) references T_Staff(F_StaffName),
8
+
7
- 外部キーの制約名同一データベースでユニクであ必要があります。
9
+ 外部キーなく、T_Staffの主キに含まれていため、エラーになっています。
8
10
 
9
11
 
10
12
 
11
- T_Staff内のforeign key(F_ShopNum) references T_Company(F_ShopNum)
13
+ そして、T_TradeListテーブルの作成に失敗しているため、
12
14
 
13
-
15
+ T_CustomerShohin内のforeign key (F_TradeNum) references T_TradeList(F_TradeNum)
14
16
 
15
- T_TradeList内のforeign key(F_ShopNum) references T_Staff(F_ShopNum)
16
-
17
- の制約名(F_shopNum)が被っているので、
18
-
19
- T_TradeListテーブルの作成に失敗していす。
17
+ 失敗しているエラーです。
20
18
 
21
19
 
22
20
 
23
- そして、T_TradeListテーブルが存在しないため、
24
-
25
- T_CustomerShohin内のforeign key(F_TradeNum) references T_TradeList(F_TradeNum)
26
-
27
- がどこにあるのか判断できずエラーとなっています。
28
-
29
-
30
-
31
- 上記が原因なので、制約名をつけてエラーを取る形でも良いかと思います。
21
+ 上記が原因なので、この外部キーだ外してエラーを取る形でも良いかと思います。

1

誤記の修正

2017/07/18 12:31

投稿

tomari_perform
tomari_perform

スコア760

test CHANGED
@@ -28,8 +28,4 @@
28
28
 
29
29
 
30
30
 
31
- 上記が原因なので、
32
-
33
- foreign key(F_ShopNum2) references T_Staff(F_ShopNum)
34
-
35
- という形にしも、エラーるかと思います。
31
+ 上記が原因なので、制約名をつけてエラー取る形でも良いかと思います。