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

回答編集履歴

4

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

2017/07/18 12:35

投稿

tomari_perform
tomari_perform

スコア760

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

3

微修正

2017/07/18 12:35

投稿

tomari_perform
tomari_perform

スコア760

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

2

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

2017/07/18 12:34

投稿

tomari_perform
tomari_perform

スコア760

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

1

誤記の修正

2017/07/18 12:31

投稿

tomari_perform
tomari_perform

スコア760

answer CHANGED
@@ -13,6 +13,4 @@
13
13
  T_CustomerShohin内のforeign key(F_TradeNum) references T_TradeList(F_TradeNum)
14
14
  がどこにあるのか判断できずエラーとなっています。
15
15
 
16
- 上記が原因なので、
17
- foreign key(F_ShopNum2) references T_Staff(F_ShopNum)
18
- という形にしても、エラーるかと思います。
16
+ 上記が原因なので制約名をつけてエラー取る形でも良いかと思います。