我正在尝试在我的另一张桌子上添加外键,但这给了我错误
#1072 - Key column 'role_id' doesn't exist in table
你好我已经创建了一个名为role
然后我就像这样创建了
create table role (
role_id varchar(15)
primary key (role_id)
)
然后当我尝试改变user
表
alter table user
add foreign key (role_id)
references role(role_id)
我收到了这样的错误
#1072 - Key column 'role_id' doesn't exist in table
抱歉是noob ..
答案 0 :(得分:5)
您必须在用户表格中的add foreign key (
role_id )
中引用您引用的列。否则你会得到那个错误。
您必须在用户表中包含以下内容:
create table user(
...
role_id varchar(15)
...
)
如果你没有,你必须这样做:
ALTER TABLE user ADD COLUMN role_id VARCHAR(15)
在将其设置为外键之前。
答案 1 :(得分:0)
表user
没有列role_id
答案 2 :(得分:0)
您还需要在新表中添加 role_id
,然后将其设置为外键。
alter table user
roll_id varchar(15),
add foreign key (role_id)
references role(role_id)
编辑:我不知道正确的语法,因为我是 DBMS 新手,但我遇到了类似的错误,所以只需在新表中再次声明 role_id
就可以了。