创建外键时遇到问题

时间:2015-03-28 21:38:09

标签: mysql

我有一个名为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)

2 个答案:

答案 0 :(得分:1)

使用成员表上的id作为外键,最好将其更改为membber_id。以下是帮助的参考: W3Schools foreign key constraint

答案 1 :(得分:1)

  

一个表中的FOREIGN KEY指向另一个表中的PRIMARY KEY。

您遇到的错误是由于以下原因:

  1. 您引用的表name的列member不是primary key。因此,要添加foreign key,您必须引用引用表的primary key,在这种情况下为id。仔细阅读documentation
  2. 语法错误:您缺少第二个create语句的结束)