0

愚かな質問だと思います...

出荷注文のシンプルなデータベースを実現したい。注文は顧客が送受信できます。

注文には、日付と、荷送人および差出人に関連する 2 つの外部キーを含めることができます。

このようなもの

Orders(ID,Date,id_sender,id_receiver)

単純化された顧客テーブルは次のようになります

Customers(ID,name, surname,city)

1 つが外部キー id_sender に関連し、もう 1 つが id_receiver に関連する 2 つの Customers/Orders 関係を作成できないことに気付きました。OpenOffice DBMS を試してみましたが、Customers と Orders の間の関係が既に存在するため、2 番目の関係を確立しようとするとエラーが発生します。

ID in statement [ALTER TABLE "Orders" ADD FOREIGN KEY("id_sender","id_receiver") REFERENCES "Customers"("ID","ID")

これをどのように解決すればよいですか?ばかげた質問かもしれませんが、ありがとうございます。

4

1 に答える 1

0

ステートメントは、is_sender と id_receiver の 2 つの列を持つ 1 つの複合外部キーを作成しようとしています。どちらも Customers の同じ列 id を参照しています。それはおそらくあなたが望むものではありません。代わりに、次の 2 つの個別の制約を定義しようとする場合があります。

alter table Orders add foreign key (id_sender) references Customers (id);
alter table Orders add foreign key (id_receiver) references Customers (id);
于 2014-02-21T16:32:11.363 に答える