use school
go
alter table student
add constraint fk_student_parent_id_parent_id foreign key(parent_id)
references parent(id)
go
运行这个程序之后就一直出现提示
务器: 消息 547,级别 16,状态 1,行 1
ALTER TABLE 语句与 COLUMN FOREIGN KEY 约束 'fk_student_parent_id_parent_id' 冲突。该冲突发生于数据库 'school',表 'parent', column 'id'。原来以为是修改数据ID的类型为bigint的缘故,就又改成了int型 不过还是不行,一直都没有找到冲突的原因 望高手给出结果 谢谢
go
alter table student
add constraint fk_student_parent_id_parent_id foreign key(parent_id)
references parent(id)
go
运行这个程序之后就一直出现提示
务器: 消息 547,级别 16,状态 1,行 1
ALTER TABLE 语句与 COLUMN FOREIGN KEY 约束 'fk_student_parent_id_parent_id' 冲突。该冲突发生于数据库 'school',表 'parent', column 'id'。原来以为是修改数据ID的类型为bigint的缘故,就又改成了int型 不过还是不行,一直都没有找到冲突的原因 望高手给出结果 谢谢
alter table student with nocheck
add constraint fk_student_parent_id_parent_id foreign key(parent_id)
references parent(id)
WHERE NOT EXISTS(SELECT 1 FROM parent WHERE parent_Id=T.ID)
drop table tb1
go
create table tb1(id int identity(1,1) primary key,name1 varchar(10))
insert into tb1(name1)
select 'zyw' union all
select 'zyw' union all
select 'zyw' union all
select 'zyw' union all
select 'zyw' union all
select 'zyw' select * from tb1if object_id('tb2') is not null
drop table tb2
go
create table tb2(id int, child varchar(10))
insert into tb2
select 1,'ffff' union all
select 1,'ffff' union all
select 7,'ffff' alter table tb2
add constraint hhh foreign key(id) references tb1(id)
这样就报错了:
消息 547,级别 16,状态 0,第 1 行
ALTER TABLE 语句与 FOREIGN KEY 约束"hhh"冲突。该冲突发生于数据库"testdb",表"dbo.tb1", column 'id'。
因为父表里面没有7
把7改成6就成功了
如果建好数据库,输入了很多数据之后又想更改外键,应该怎么弄啊?
附:我删除了student中的数据,就可以建立外键了 谢谢呵呵!不过上面的问题感觉有很棘手了 呵呵