【解決方法】この種のエラーを解決するにはどうすればよいですか


create table customer(
CMobile_no       int ,
Customer_id       int,
Customer_Address  varchar(20),
Fname        varchar(20),
Minit        varchar(20),
Lname        varchar(20),
Customer_id2    int,
constraint customer_pk
primary key (Customer_id2),

);

create table Buysfrom(
Cid int,
  
  Bid int,

 Hrs  int,
 CONSTRAINT buys_pk
 primary key (Cid,Bid),

 Constraint customer_Buys_pk
 foreign key (Cid) references customer(Customer_id2),
 constraint Branch_Buys_fk
 foreign key (Bid)references Branch(Branch_id),


);

購入元の customer_id2 にエラーがあります

エラーメッセージは次のとおりです。
外部キー customer buys pk 参照された無効な列 customer_id2 in refrenced テーブル customer

私が試したこと:

テーブル customer の customer_id2 を変更しますが、何の影響もありません

解決策 1

はぁ。 エラーメッセージを読んでください。 「customer」テーブルに列「customer_id2」が存在しないことを示しています。 それについて何をするかは、「顧客」テーブルの主キー列を何と呼んだかによって異なります。

解決策 2

2 つのクエリを変更せずに提示された順序で実行すると、存在しないブランチ テーブルに関連するエラーが発生します。

したがって、エラーは、2 番目のコードを最初に実行し、最初のコードを 2 番目に実行したことを示しているため、2 番目のコードで参照されているテーブルはまだ存在していません。

SQL では、テーブルを「前方参照」することはできません。後でテーブルを作成することを「認識」していないため、データの整合性を維持できないと文句を言います。

コメント

タイトルとURLをコピーしました