sql – 在引用的表中没有主键或候选键
发布时间:2020-12-12 16:16:07 所属栏目:MsSql教程 来源:网络整理
导读:Error: There are no Primary or Candidate Keys in the referenced table ‘dbo.Customers’ that match the referencing column list in the foreign key ‘FK_Reservation_Customers_FrstNme FOREIGN KEY’ DROP TABLE dbo.Customers;DROP TABLE dbo.Staf
DROP TABLE dbo.Customers; DROP TABLE dbo.Staff; DROP TABLE dbo.Rooms; DROP TABLE dbo.Reservation; GO CREATE TABLE "Customers"( CustomerID int IDENTITY (1,1) NOT NULL,FirstName nvarchar(20) NULL,LastName nvarchar(20) NULL,StreetNo int NULL,City nvarchar(20) NULL,PostCode nvarchar(20) NULL,Email nvarchar(50) NULL,CONSTRAINT PK_Customers PRIMARY KEY ( CustomerID ) ) CREATE TABLE "Staff"( StaffID nvarchar(20) NOT NULL,Pass nvarchar(20) NOT NULL,CONSTRAINT PK_Staff PRIMARY KEY ( StaffID ) ) CREATE TABLE "Rooms"( RoomNo int NOT NULL,RoomType nvarchar(20) NULL,PricePerNight money NULL,MaximumOccupancy int NULL,No0fBeds int NULL,NoOfBathrooms int NULL,Entertainment bit NULL,RoomService bit NULL,Gym bit NULL,CONSTRAINT PK_Rooms PRIMARY KEY ( RoomNo ) ) CREATE TABLE "Reservation"( ReservationID int IDENTITY (1,CustomerID int NOT NULL,RoomNo int NOT NULL,CheckInDate date NULL,CheckOutDate date NULL,CONSTRAINT PK_Reservation PRIMARY KEY ( ReservationID ),CONSTRAINT FK_Reservation_Customers_CustID FOREIGN KEY ( CustomerID ) REFERENCES dbo.Customers ( CustomerID ),CONSTRAINT FK_Reservation_Customers_FrstNme FOREIGN KEY ( FirstName ) REFERENCES dbo.Customers ( FirstName ) ) 有人可以告诉我这里发生了什么,我可以如何解决它.同样的问题发生在所有其他键我想要一个外键.除非我想引用一个主键. 解决方法如果要创建外键,则必须引用主键或具有唯一约束的字段.如果要显示客户名称,请使用外键引用CustomerID,并使用连接显示结果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |