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);
答案 0 :(得分:3)
您的架构中有一些循环引用。 People
表取决于Driver
表,Driver
表取决于People
表。你永远不能将记录插入到其中一个表中,而不是先在另一个表中插入一行,这是不可能的。蛋情况。您的架构中还有其他循环引用示例。从架构中删除所有循环引用。