2017-04-11 20 views
0

私は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ファイルを見ての最初の数行

first few lines of the aircraft csv

任意の提案なぜまだエラーが発生するのですか? ありがとうございました!

+1

問題を特定するには、外部キーを削除または非アクティブ化してから、その行をインポートすると便利です。インポートが正常に完了したと仮定すると、親テーブルにないキーを持つ子ローを見つけるためにクエリを実行できます。 – Bampfer

答えて

0

私は最終的に解決策を得ました。私は外来キーを設定する前に、

SET foreign_key_checks = 0; 

を実行して、外来キーチェックを無効にしました。私は後でcsvレコードを追加することができました。

+0

その後、外部キーチェックを有効にすることはできますか? – Bampfer

+0

はいレコードを追加したときに外部キーのチェックを1に戻しました。 – user7335295

関連する問題