私は2つのテーブル:tblACTypeCharacteristicsとtblAircraftsを持っています。MySQL子ローを追加または更新できません
tblACTypeCharacteristics定義:
create table if not exists tblACTypeCharacteristics(
idAC_type varchar(255) not null,
numPassengers int,
primary key(idAC_type));
tblAircrafts定義:tblACTypeCharacteristicsの最大数で
alter table tblaircrafts add foreign key(txtAC_type)
references tblactypecharacteristics(idAC_type);
:また
create table if not exists tblAircrafts(
idAC int not null auto_increment,
txtAC_tag varchar(255) not null,
txtAC_type varchar(255) not null,
primary key(idAC, txtAC_tag));
、私はその後のような外部キーを追加しました乗客は各タイプの航空機に対して定義される。 tblAircraftには、利用可能なすべての航空機が掲載されています。 私は、たとえば次のように入力して、新しい航空機を挿入することができる午前:
insert into tblaircrafts (txtAC_tag, txtAC_type) values ('OE-LDA','A319-112');
しかし、周りの航空機の負荷があると、私は手で一つ一つを追加したいいけません。 私はCSVファイルでそれらをインポートしたいです(私はいくつかの航空機のリストを持っています)。 そして私に続いて、それをインポートします。
load data local infile 'C:\\Users\\t_lichtenberger\\Desktop\\tblAircrafts.csv'
into table tblaircrafts
character set utf8
fields terminated by ';'
lines terminated by '\n'
ignore 1 lines;
しかし、私はtblaircraftテーブルに.csvファイルをインポートすると、私は次のエラーを取得:
15:08:37 alter table tblaircrafts add foreign key(txtAC_type) references tblactypecharacteristics(idAC_type) Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`pilotproject`.`#sql-11d0_2da`, CONSTRAINT `#sql-11d0_2da_ibfk_1` FOREIGN KEY (`txtAC_type`) REFERENCES `tblactypecharacteristics` (`idAC_type`)) 0.641 sec
を、私は理由を説明することはできません。列の数は同じで、列のデータ型は同じです。そして、私が持っているダブルチェックtblACTypeCharacteristic表にアレントと、それは良いことがありAC_types用のCSV ..
続くようなcsvファイルを見ての最初の数行
:任意の提案なぜまだエラーが発生するのですか? ありがとうございました!
問題を特定するには、外部キーを削除または非アクティブ化してから、その行をインポートすると便利です。インポートが正常に完了したと仮定すると、親テーブルにないキーを持つ子ローを見つけるためにクエリを実行できます。 – Bampfer