1452 MySQL错误:外键约束失败

1452 MySQL错误:外键约束失败,mysql,sql,Mysql,Sql,以下是两个db表: 1类基础 id bigint(20) unsigned NO PRI NULL auto_increment vorname varchar(64) NO NULL nachname varchar(64) NO NULL geburtsland_id bigint(20) unsigned

以下是两个db表:

1类基础

id              bigint(20) unsigned     NO  PRI     NULL    auto_increment
vorname         varchar(64)             NO          NULL    
nachname        varchar(64)             NO          NULL    
geburtsland_id  bigint(20) unsigned     YES MUL     NULL    
2李斯特岛

id              bigint(20) unsigned     NO  PRI     NULL    auto_increment
iso             varchar(2)              NO          NULL    
landname        varchar(255)            NO          NULL    
db表liste_land包含国家摘录列表:

1   AD  Andorra
2   AE  Vereinigte Arabische Emirate
3   AF  Afghanistan
4   AG  Antigua und Barbuda
5   AI  Anguilla
6   AL  Albanien
7   AM  Armenien
8   AO  Angola  
    ....    
这是sql查询:

 ALTER TABLE `kind_basis` 
    ADD CONSTRAINT `fk_geburtsland_id` 
        FOREIGN KEY ( `geburtsland_id` ) 
        REFERENCES `liste_land` (`id`)  
这是mysql错误消息:

#1452 - Cannot add or update a child row: a foreign key constraint fails
(`testing_v2.0.0`.<result 2 when explaining filename '#sql-6687_13b16'>, 
CONSTRAINT `fk_geburtsland_id` FOREIGN KEY (`geburtsland_id`) REFERENCES 
`liste_land` (`id`))

我做错了什么,但是什么

在实物基础表中,您有一行或多行的geburtsland\u id与表lister\u land的字段id不匹配。

在实物基础表中,您有一行或多行的geburtsland\u id与表lister\u land的字段id不匹配。

当您试图对现有表(即实物基础)添加约束时,该表中的某些行违反了您试图添加的约束。您需要做的是首先从Gend_basis geburtsland_id的列中删除那些在List_land id列中不存在的值。那么你就会成功。截断表并不是唯一可用的选项,还有其他选项。

当您试图在现有表上添加约束(即种类基础)时,该表中的某些行违反了您试图添加的约束。您需要做的是首先从Gend_basis geburtsland_id的列中删除那些在List_land id列中不存在的值。那么你就会成功。表的截断不是唯一可用的选项,还有更多选项。

您是否可以运行以下查询以确保:从种类库中选择geburtsland\u id,kb上的左连接列表\u ll。geburtsland\u id=ll.id,其中ll.id为null;哪一个是父表kind_basis或liste_land?可以运行以下查询以确保:从kind_basis kb中选择geburtsland_id left join liste_land ll on kb.geburtsland_id=ll.id,其中ll.id为null;哪一个是父表种类基础或列表?它们都是正确答案,但我只能设置一个接受答案。它们都是正确答案,但我只能设置一个接受答案。