加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

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.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,并使用连接显示结果.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读