菜鸟问题:mysql 建表 外键问题
主表的代码是这样写的createtablescore(idvarchar(20)notnull,xuenianvarchar(20)notnull,primarykey(...
主表的代码是这样写的
create table score(id varchar(20) not null,
xuenian varchar(20)not null,primary key(id,xuenian),
deyu varchar(20) null,
xuexi varchar(20) null,
zhiyu varchar(20) null,
tiyu varchar(20) null,
zhonghe varchar(20)null)
但是 再建个有外键参照score表的时候
create table kecheng(kcid varchar(20) not null primary key,
xuenian varchar(20) not null constraint fk foreign key(xuenian) references score(xuenian),
kecheng varchar(20) null
)
就会提示
服务器: 消息 1776,级别 16,状态 1,行 1
在被引用表 'score' 中没有与外键 'fk' 的引用列的列表匹配的主键或候选键。
服务器: 消息 1750,级别 16,状态 1,行 1
未能创建约束。请参阅前面的错误信息。
要怎么办才好呢? 展开
create table score(id varchar(20) not null,
xuenian varchar(20)not null,primary key(id,xuenian),
deyu varchar(20) null,
xuexi varchar(20) null,
zhiyu varchar(20) null,
tiyu varchar(20) null,
zhonghe varchar(20)null)
但是 再建个有外键参照score表的时候
create table kecheng(kcid varchar(20) not null primary key,
xuenian varchar(20) not null constraint fk foreign key(xuenian) references score(xuenian),
kecheng varchar(20) null
)
就会提示
服务器: 消息 1776,级别 16,状态 1,行 1
在被引用表 'score' 中没有与外键 'fk' 的引用列的列表匹配的主键或候选键。
服务器: 消息 1750,级别 16,状态 1,行 1
未能创建约束。请参阅前面的错误信息。
要怎么办才好呢? 展开
3个回答
展开全部
你要在score表里面定义xuenian为KEY,例如:
create table score(id varchar(20) not null,
xuenian varchar(20)not null,primary key(id,xuenian),
deyu varchar(20) null,
xuexi varchar(20) null,
zhiyu varchar(20) null,
tiyu varchar(20) null,
zhonghe varchar(20)null,
KEY (xuenian))
create table score(id varchar(20) not null,
xuenian varchar(20)not null,primary key(id,xuenian),
deyu varchar(20) null,
xuexi varchar(20) null,
zhiyu varchar(20) null,
tiyu varchar(20) null,
zhonghe varchar(20)null,
KEY (xuenian))
展开全部
你要在score表里面定义xcreate table score(id varchar(20) not null,
xuenian varchar(20)not null,primary key(id,xuenian),
deyu varchar(20) null,
xuexi varchar(20) null,
zhiyu varchar(20) null,
tiyu varchar(20) null,
zhonghe varchar(20)null,
KEY (xuenian)) uenian为KEY,例如
xuenian varchar(20)not null,primary key(id,xuenian),
deyu varchar(20) null,
xuexi varchar(20) null,
zhiyu varchar(20) null,
tiyu varchar(20) null,
zhonghe varchar(20)null,
KEY (xuenian)) uenian为KEY,例如
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询