sql server 主键与外键约束无法创建

2025-12-25 06:53:17
推荐回答(2个)
回答1:

建议改成这样

create table 会员证 (
会员编号 varchar(20),
会员姓名 varchar(10),
会员年龄 int,
会员住址 varchar(50),
primary key (会员编号) )

create table 图书 (
书号 int,
书名 varchar(20) not null,
价格 decimal(6,2),
页数 int,
出版社 varchar(50) default '清华大学出版社',
作者 varchar(50),
primary key (书号) )

create table 借阅 (
会员编号 varchar(20) foreign key references 会员证(会员编号),
书号 int foreign key references 图书(书号),
借阅时间 datetime,
归还时间 datetime,
primary key (会员编号,书号,借阅时间) )

一般user表只用一个id或者编号来做主键

回答2:

外键引用要求引用键必须是唯一键,如果是联合主键,那么算作联合唯一,不能作为外键引用
像你的表,一般只需要把编号设置为主键即可,姓名作为冗余字段可加可不加