外键引用无效表。但为什么

时间:2019-01-03 12:01:01

标签: sql-server

CREATE TABLE Bookings
(
    BookingID CHAR(10) CONSTRAINT pkBookinglD PRIMARY KEY,
    BookingName CHAR(30), 
    Price INT,
    Catergory CHAR(30),

    RoomID CHAR(10) 
        CONSTRAINT fkRoomID FOREIGN KEY REFERENCES Rooms(RoomID)
)

错误消息:

  

外键fkRoomID引用无效的表Rooms

该如何解决?我有表“ Rooms”,但它一直说无效的表。

这是我的房间桌子

CREATE TABLE Rooms
(
    RoomID CHAR(10) CONSTRAINT pkRoomlD PRIMARY KEY,
    RoomType CHAR(30), 
    Price INT, 
    FloorNumber INT
)

2 个答案:

答案 0 :(得分:3)

如果要使用单个脚本创建表,则用于创建“房间”表的脚本应位于顶部,然后是用于“预订”表的脚本。另一个选择是首先添加所有具有主键的表,然后添加Alter table并添加外键约束:

ALTER TABLE Bookings
    ADD CONSTRAINT fkRoomID FOREIGN KEY(RoomID) REFERENCES Rooms(RoomID)

答案 1 :(得分:1)

检查是否在“可用数据库”下拉控件中选择了正确的数据库。