我有一个名为member的表:
create table member(id int NOT NULL auto_increment PRIMARY KEY, name varchar(255) NOt NULL, email varchar(255) NOT NULL, userName varchar(255)
NOT NULL, password varchar(255) NOT NULL, handicap int);
并尝试创建一个表stableford
,它将具有member
表中的外键名称:
create table stableford(id int NOT NULL auto_increment PRIMARY KEY,title varchar(255)NOT NULL,player_name varchar(255)NOT NULL, score int NOT NULL,INDEX(player_name),FOREIGN KEY(player_name)REFERENCES member(name));
数据库名称为golfclub
我得到一个错误,无法创建表' golfclub。#sql-d1c_6' (错误:150)
答案 0 :(得分:1)
使用成员表上的id作为外键,最好将其更改为membber_id
。以下是帮助的参考:
W3Schools foreign key constraint
答案 1 :(得分:1)
一个表中的FOREIGN KEY指向另一个表中的PRIMARY KEY。
您遇到的错误是由于以下原因:
name
的列member
不是primary key
。因此,要添加foreign key
,您必须引用引用表的primary key
,在这种情况下为id
。仔细阅读documentation。)
。