![](/img/trans.png)
[英]The ALTER TABLE statement conflicted with the FOREIGN KEY constraint
[英]ALTER TABLE statement conflicted with the FOREIGN KEY constraint
创建外键时,我遇到了这个错误。 下面是我的代码
create table tblPerson(
ID int not null primary key,
Fullname varchar(50) not null,
Email varchar(50) not null,
GenderId int )
create table tblGender (
ID int not null primary key,
Gender varchar(50) not null
)
alter table tblPerson add constraint tblPerson_GenderId_FK
foreign key (GenderId) references tblGender(ID)
嗨,请使用以下代码来实现您的目标:
1-首先创建tblGender:
create table tblGender (
ID int not null primary key,
Gender varchar(50) not null
)
2-然后创建表 tblPerson 与 2 个表之间的关系,从一开始:
create table tblPerson(
ID int not null primary key,
Fullname varchar(50) not null,
Email varchar(50) not null,
*GenderId int references tblGender(ID) )*
工作正常。
您想标识任何“不对齐”行....
我做了以下。
如果任何行从 SELECT 查询返回,您将无法添加 FK 约束。
我还删除了“tbl”的匈牙利符号。 我会建议不要这样做。
create table dbo.Person(
ID int not null primary key,
Fullname varchar(50) not null,
Email varchar(50) not null,
GenderId int )
create table dbo.Gender (
ID int not null primary key,
Gender varchar(50) not null
)
/* any rows below? you FK creation will fail */
Select *, p.GenderId as 'HoustonWeHaveAProblemValue' from dbo.Person p Where Not Exists (Select 1 from dbo.Gender g where g.ID = p.GenderId)
alter table dbo.Person add constraint Person_GenderId_FK
foreign key (GenderId) references dbo.Gender(ID)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.