mySQL:尝试创建外键时出错

时间:2016-10-08 19:03:11

标签: mysql database

我正在尝试创建两个共享一个公共列的表。这些表当前是空的,因为我想在所有数据被适当链接后添加数据。我似乎无法到达语法错误的底部。我可以创建表'publisher'而没有任何问题但是不能将它的主键'publishername'作为下一个表的外键引用。

我得到了可怕的E

  

RROR 1064“靠近'参考出版商(publishername))'在第1行”。

我迷路了因为我之前使用了类似的语法来做到这一点。非常感谢提前!


create table publisher (
 publishername varchar(30) primary key, 
 city varchar(15),
 country varchar(10), 
 telephone varchar(15), 
 yearfounded int(4));

create table book (
booknumber int(3) primary key, 
bookname varchar(50), 
publicationyear int(4), 
pages int(4), 
publishername varchar references publisher(publishername));

1 个答案:

答案 0 :(得分:0)

好像你没有给出外键的长度。这很好用。您可以查看here

create table publisher (
 publishername varchar(30) primary key, 
 city varchar(15),
 country varchar(10), 
 telephone varchar(15), 
 yearfounded int(4));

create table book (
booknumber int(3) primary key, 
bookname varchar(50), 
publicationyear int(4), 
pages int(4), 
publishername varchar(30) references publisher(publishername));