在尝试将外键添加到我的tblDomare
表;我在这里做错了什么?
CREATE TABLE tblDomare
(PersNR VARCHAR (15) NOT NULL,
fNamn VARCHAR (15) NOT NULL,
eNamn VARCHAR (20) NOT NULL,
Erfarenhet VARCHAR (5),
PRIMARY KEY (PersNR));
INSERT INTO tblDomare (PersNR,fNamn,eNamn,Erfarenhet)
Values (6811034679,'Bengt','Carlberg',10);
INSERT INTO tblDomare (PersNR,fNamn,eNamn,Erfarenhet)
Values (7606091347,'Josefin','Backman',4);
INSERT INTO tblDomare (PersNR,fNamn,eNamn,Erfarenhet)
Values (8508284163,'Johanna','Backman',1);
CREATE TABLE tblBana
(BanNR VARCHAR (15) NOT NULL,
PRIMARY KEY (BanNR));
INSERT INTO tblBana (BanNR)
Values (1);
INSERT INTO tblBana (BanNR)
Values (2);
INSERT INTO tblBana (BanNR)
Values (3);
ALTER TABLE tblDomare
ADD FOREIGN KEY (PersNR)
REFERENCES tblBana(BanNR);
错误消息:
ALTER TABLE语句与外键约束"FK“冲突_tblDomare_PersN__5F7E2DAC“。冲突发生在数据库"almu0004",表"dbo.tblBana",列”BanNR“中。
发布于 2016-07-04 16:22:21
这个查询对我非常有用。它显示没有任何匹配的所有值
select FK_column from FK_table
WHERE FK_column NOT IN
(SELECT PK_column from PK_table)
发布于 2018-04-06 15:34:01
尝试此解决方案:
您的表中有一个数据项,其关联值在您要将其用作主键表的表中不存在。将表设置为空或将关联的值添加到第二个表中。
发布于 2016-08-09 14:19:30
可以使用ALTER TABLE TABLE TABLE NOCHECK ...创建外键,这将允许违反外键的数据。
"ALTER TABLE TABLE TABLE NOCHECK...“添加FK的选项--这个解决方案适用于我。
https://stackoverflow.com/questions/21839309
复制相似问题