愚蠢的问题我猜...
我想实现一个包含装运单的简单数据库。订单可以由客户发送和接收。
订单可以有一个日期和两个相对于托运人和发件人的外键。
像这样的东西
Orders(ID,Date,id_sender,id_receiver)
简化的客户表格
Customers(ID,name, surname,city)
我注意到我无法创建两个客户/订单关系,其中一个与外键id_sender相关,另一个与id_receiver相关。我刚尝试使用OpenOffice DBMS,在尝试建立第二个关系时遇到错误,因为客户和订单之间的关系已经存在。
ID in statement [ALTER TABLE "Orders" ADD FOREIGN KEY("id_sender","id_receiver") REFERENCES "Customers"("ID","ID")
我应该如何解决这个问题?如果这可能是一个愚蠢的问题,谢谢,对不起。
答案 0 :(得分:0)
您的语句正在尝试使用两个列is_sender和id_receiver创建一个复合外键,这两个列都引用同一列,即Customers上的id。这可能不是你想要的。相反,您可能会尝试定义两个单独的约束:
alter table Orders add foreign key (id_sender) references Customers (id);
alter table Orders add foreign key (id_receiver) references Customers (id);