MySQL无法添加外键错误

时间:2014-12-31 19:57:25

标签: mysql

  CREATE TABLE People
(
    ID INT UNSIGNED AUTO_INCREMENT,
    Company_Name VARCHAR(256) NOT NULL,
    Predicted_Pos VARCHAR(20),
    PRIMARY KEY (ID),

);

INSERT INTO People VALUES (1, 'Shujun Li', '3rd');

CREATE TABLE Driver
(
    ID INT UNSIGNED AUTO_INCREMENT,
    First_name VARCHAR(256) NOT NULL,
    Last_name VARCHAR(256) NOT NULL,
    Car_make VARCHAR(256) NOT NULL,
    Car_model VARCHAR(256) NOT NULL,
    People_ID INT UNSIGNED,
    PRIMARY KEY (ID),   
    FOREIGN KEY(People_ID) REFERENCES People(ID)

);

INSERT INTO People VALUES (1, 'Shujun Li', 'bob', 'merc', 'benz', 1);

1 个答案:

答案 0 :(得分:3)

您的架构中有一些循环引用。 People表取决于Driver表,Driver表取决于People表。你永远不能将记录插入到其中一个表中,而不是先在另一个表中插入一行,这是不可能的。蛋情况。您的架构中还有其他循环引用示例。从架构中删除所有循环引用。