注册 登录
编程论坛 SQL Server论坛

两个表之间如何建立外键关系?

双面人 发布于 2006-11-09 17:50, 5385 次点击
就是这个程序:
create table class (id char(9) primary key,teacher char(15),pupil int);
insert into class values (001,'王微','36')
insert into class values (002,'李华','39')
insert into class values (003,'孙明','35')
select * from class
//delete
from class
where id='000';
//drop table class
create table stud (no char(10),name char(15),sex char(1),addr char(100),id char(9) foreign key references class (id));
select * from stud
insert into stud values('601','王微','1','西安','001');
insert into stud values('641','李华','0','山东','002');
insert into stud values('702','赵静','0','四川','004');
//drop table stud


错误:
服务器: 消息 547,级别 16,状态 1,行 1
INSERT 语句与 COLUMN FOREIGN KEY 约束 'FK__stud__id__3C74E891' 冲突。该冲突发生于数据库 'master',表 'class', column 'id'。
语句已终止。

上面的错误是什么意思?怎么改正呢?

3 回复
#2
棉花糖ONE2006-11-09 18:25

你把你第一个表的那些id都改成'001',这种格式的,还有insert into stud values('702','赵静','0','四川','004');这行不能用,主表中不存在'004'的id

#3
hanbingchong2006-11-09 18:42
字符类型的应该加引号的
#4
双面人2006-11-09 19:40

做出来了,谢谢!

1