Mysql SQL中的外键引用不起作用
我试图创造一组球员和球队。每个队员都属于一个队。我在teams表中将“team”属性引用为“teamID”。但我不断得到错误:请检查父表团队的表播放器上的外键约束Mysql SQL中的外键引用不起作用,mysql,sql,foreign-keys,Mysql,Sql,Foreign Keys,我试图创造一组球员和球队。每个队员都属于一个队。我在teams表中将“team”属性引用为“teamID”。但我不断得到错误:请检查父表团队的表播放器上的外键约束 CREATE TABLE players ( playerid INTEGER PRIMARY KEY, name text, position text, skill text, team integer, FOREIGN KEY(team) REFERENCES teams(teamID) );
CREATE TABLE players (
playerid INTEGER PRIMARY KEY,
name text,
position text,
skill text,
team integer,
FOREIGN KEY(team) REFERENCES teams(teamID)
);
CREATE TABLE teams (
teamID INTEGER primary key,
name text unique,
city text,
coach text
/*captain text*/
);
INSERT INTO players VALUES (1, "Tom Chapin", "Quorter Back", "Advanced SKill", 1);
INSERT INTO players VALUES (2, "Harry Chapin", "LineBacker", "Begginer", 2);
/* Tom's songs */
INSERT INTO teams VALUES (1, "Chicago Bears", "Chicago", "Coach Jack");
INSERT INTO teams VALUES (2, "Detroit Bulls", "Detroit", "Coach Bob");
/* Harry's songs */
INSERT INTO teams VALUES (3, "NY Snakes", "New York", "Coach Phil");
SELECT * from players;
SELECT * FROM teams;
需要先存在引用表中的行,然后才能插入行 您正在尝试将行插入播放机。但这些都是参考团队
您需要先插入球队记录。请在创建table player之前创建table team
CREATE TABLE teams (
teamID INTEGER primary key,
name varchar(255) unique,
city text,
coach text
)
CREATE TABLE players (
playerid INTEGER PRIMARY KEY,
name varchar(255),
position text,
skill text,
team integer,
FOREIGN KEY(team) REFERENCES teams(teamID)
);
/* Tom's songs */
INSERT INTO teams VALUES (1, "Chicago Bears", "Chicago", "Coach Jack");
INSERT INTO teams VALUES (2, "Detroit Bulls", "Detroit", "Coach Bob");
/* Harry's songs */
INSERT INTO teams VALUES (3, "NY Snakes", "New York", "Coach Phil");
INSERT INTO players VALUES (1, "Tom Chapin", "Quorter Back", "Advanced SKill", 1);
INSERT INTO players VALUES (2, "Harry Chapin", "LineBacker", "Begginer", 2);
Mysql还是postgresql?