一个表a的主码是另一个表b的外码,向表b添加一个外码,该外码不在表a中.是否正

2025-02-26 01:17:48
推荐回答(3个)
回答1:

不正确,数据库会拒绝该操作的,因为违反参照完整性

回答2:

正确,表B的外码也可以是表C的主码。

回答3:

这个还真不行,这是我的测试,报约束错误
create table t1(co1 int primary key)
create table t2(co2 int foreign key REFERENCES t1(co1))--t2的外键是t1的主键

insert into t1 select 1

insert into t2 select 2--向t2插入一个t1中没有的主键数据会报错

/*
服务器: 消息 547,级别 16,状态 1,行 1
INSERT 语句与 COLUMN FOREIGN KEY 约束 'FK__t2__co2__0A9D95DB' 冲突。该冲突发生于数据库 'Northwind',表 't1', column 'co1'。
语句已终止。

*/