mysql - 以下 MySql 查询有什么问题?
问题描述
create table rolemaster(roleno int(2) not null,
primary key(roleno),
rolename varchar(20));
create table roombed(roomnumber varchar(10),
bednumber varchar(10) not null primary key,
username varchar,
foreign key(username) references roleusers(username));
它正在显示
错误编号:1064。
如何解决此错误?
解决方案
试一试
create table roleusers(username varchar(10) not null primary key );
create table rolemaster(roleno int(2) not null primary key ,
rolename varchar(20));
create table roombed(roomnumber varchar(10),
bednumber varchar(10) not null primary key,
username varchar(10),
foreign key (username) references roleusers (username));
我已经添加了一个角色用户表,所以我可以给你一个工作脚本。
编辑:对于初学者来说,您做错的是主键之前的逗号。您添加到我们不知道的表中的外键必须引用另一个表上的键,因此在发布的示例中,我添加了一个角色用户表设置username
作为主键,以便以后可以将其作为外键引用。您还忘记正确定义用户名上的 varchar。正如另一个答案所提到的。
希望这个解释有帮助