在创建SQL表并将数据输入该表时,我收到错误消息

时间:2016-10-26 12:32:34

标签: mysql

INSERT INTO TourEvents(TourName,Month,Day,Year,Fee) VALUES ('East ','Jan',16,2016,200)
  

第1行出错:       ORA-02291:违反了完整性约束(S9684921.SYS_C003209195) - 找不到父密钥

有人可以向我解释一下我可能做错了什么来得到这个错误信息 要创建表我已写下面的代码

CREATE TABLE TourEvents
(
Month varchar(50)
,Day INT
,Year INT
,Fee INT
,TourName varchar(50)
,CONSTRAINT PK_TourEvents PRIMARY KEY (TourName,Month,Day,Year)
,FOREIGN KEY (TourName) REFERENCES TOURS(TourName)
);

我是SQL的新手,因此有点挣扎于约束。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您的insert语句正在尝试将值插入到TourName表中不存在的列TOURS中。

East应该在TOURS表中,因为它被用作外键。

要更好地了解外键,请参阅this

答案 1 :(得分:0)

创建TOURS表并将记录作为East插入TourName列,然后执行插入脚本