0

これらは 2 つの db テーブルです。

1) kind_basis

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) liste_land

id              bigint(20) unsigned     NO  PRI     NULL    auto_increment
iso             varchar(2)              NO          NULL    
landname        varchar(255)            NO          NULL    

db-table 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`))

私は何か間違ったことをしていますが、何ですか?

4

2 に答える 2

4

kind_basis テーブルには、テーブル liste_land のフィールド ID に一致しない geburtsland_id を持つ 1 つまたは複数の行があります。

于 2013-10-26T19:49:32.510 に答える