A表的F1和F2字段关联,删除时会提示出错消息 547,级别 16,状态 1,第 1 行
DELETE 语句与 SAME TABLE REFERENCE 约束"FK_ORG_POSI_FK_ORG_PO_ORG_POS2"冲突。该冲突发生于数据库"TEST",表"dbo.A", column F2。这要如何处理啊???因为关联的表很多..
DELETE 语句与 SAME TABLE REFERENCE 约束"FK_ORG_POSI_FK_ORG_PO_ORG_POS2"冲突。该冲突发生于数据库"TEST",表"dbo.A", column F2。这要如何处理啊???因为关联的表很多..
create table zb --主表
(
zb_id int primary key,
)gocreate table cb --从表
(
cb_id int primary key
FOREIGN KEY REFERENCES zb(zb_id) ON DELETE CASCADE , --指定级联删除
)
go--主表数据
insert zb values(1)
insert zb values(2)
insert zb values(3)
--从表数据
insert cb values(1)
insert cb values(2)
insert cb values(3)
select * from zb
select * from cb
zb_id
-----------
1
2
3(所影响的行数为 3 行)mx_id
-----------
1
2
3(所影响的行数为 3 行)
--级联删除
delete from zb where zb_id = 1
select * from zb
select * from cb
zb_id
-----------
2
3(所影响的行数为 2 行)mx_id
-----------
2
3
(所影响的行数为 2 行)alter table cb add constraint fk_cb foreign key(mx_id) references zb(zb_id) on delete cascadealter table 从表 add constraint 外键名 foreign key(从表字段) references 主表(主表字段) on delete cascade
属性是强制外键约束:是 强制用于复制:是
更新规则和删除规格均为:无操作..
这样就没有级联删除的吧...如果是其他表,就把外键的表删了再删主表,这样没问题
可现在是它的外键表是和主键表同个表 该如何解决啊?
但是现在是同一个表的两个字段关联建立约束...这该怎么删?你的约束条件是什么样子呢
! 个人理解 先用UPDATE 把那字段改一下再删除
…………………………
foreign key(school_id) references school(school_id)
on delete cascade)create table school(
school_id smallint identity(1,1),
……………………
primary key(school_id))这样当你删除school表的数据的时候,在manager中school_id相关联的数据也将被删除。
比如我A表的F1字段和F2字段想关联
F1是主键,F2是外键。。如何删A表的一条记录?
删除该表时会提示:消息 547,级别 16,状态 0,第 1 行
DELETE 语句与 SAME TABLE REFERENCE 约束"Fk_PA_ItemParent1"冲突。该冲突发生于数据库"aaa",表"dbo.t_PA_Item", column 'FParentID'。
语句已终止。
情况很复杂
不容易删掉create table a ( a int primary key ,b int ,c int foreign key references a)
insert into a select 1,2,1
union all select 2,3,1
union all select 3,3,2
union all select 4,3,3
union all select 5,3,4
union all select 6,3,5select * from adelete from a
where c=2--外健关联的也删不掉
delete from a
where a=2--想要删除的--drop table a-- create table a ( a int primary key ,b int ,c int foreign key references a on delete cascade)
-- 1785 16 将 FOREIGN KEY 约束 ''%1!'' 引入表 ''%3!'' 中将导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其它 FOREIGN KEY 约束。
关注顶一下
与
sysindexkeys
与
syscolumns
关系得到
或在企业管理器里查看