1)主键是什么,主键在数据表中是唯一的标示,主键在一个表中是不允许重复的;2)外键是什么,外键是主键表的一个对应关系表的连接标示;在建立外键前你要确定,外键表是否已经建立;从你的sql语句中可以看出你的错误:不说你关联表是不是存在;先看你主键建立:gid int not null primary key,你在这里已经把gid这个属性定义为主键了,在下面foreign key (gid) references goods (gid),gid字段设置为外键就明显的有语法错误;