2017-01-04 11 views
1

私のデータベースにデータを挿入しようとしているときに1452のエラーが発生しています。私はエラーを取得していないと、データは私が実行しようとするよりも、選択してチェックして、その場所に行くこの時点までテーブルに挿入するときにmysql 1452を使用する

create table Agenzia(
PartitaIva char(11) primary key, 
Nome varchar(20) not null unique, 
Pass varchar(20) not null, 
Indirizzo varchar(35), 
NumeroTelefonico varchar(10) 
); 

create table Parco(
Nome varchar(20) primary key, 
Indirizzo varchar(35), 
NumeroTelefonico varchar(11), 
Cap decimal(5) 
); 

create table Affiliazione(
Agenzia char(11) not null, 
Parco varchar(20) not null, 
foreign key (Agenzia) references Agenzia(PartitaIva) on delete cascade on update cascade, 
foreign key (Parco) references Parco(Nome) on delete cascade on update cascade, 
primary key(Agenzia,Parco) 
); 

LOAD DATA LOCAL INFILE 'mypath\\Agenzia.csv' 
    INTO TABLE Agenzia 
     FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' 
    (); 

LOAD DATA LOCAL INFILE 'mypath\\Parco.csv' 
    INTO TABLE Parco 
     FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' 

: は、ここで私は何をすべきかだ

LOAD DATA LOCAL INFILE 'mypath\\Affiliazione.csv' 
    INTO TABLE Affiliazione 
     FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' 
    (); 

を、私はこれを得ましたエラー:10回と

Records: 10 Deleted: 0 Skipped: 10 Warnings: 10

に対して繰り返さ

0 row(s) affected, 10 warning(s): 1452 Cannot add or update a child row: a foreign key constraint fails (parchidb.affiliazione, CONSTRAINT affiliazione_ibfk_2 FOREIGN KEY (Parco) REFERENCES Parco (Nome) ON DELETE CASCADE ON UPDATE CASCADE)

Agenzia.csv:

10000000001;primaA;pass1;via del test, 1;818811111 
10000000002;secondaA;pass2;via del test, 2;818811112 
10000000003;terzaA;pass3;via del test, 3;818811113 
10000000004;quartaA;pass4;via del test, 4;818811114 
10000000005;quintaA;pass5;via del test, 5;818811115 
10000000006;sestaA;pass6;via del test, 6;818811116 
10000000007;settimaA;pass7;via del test, 7;818811117 
10000000008;ottavaA;pass8;via del test, 8;818811118 
10000000009;nonaA;pass9;via del test, 9;818811119 
10000000010;decimaA;pass10;via del test, 10;818811110 

Parco.csv:

primoP;Via Loreto, 66;3406288992;63041 
secondoP;Piazza Trieste e Trento, 1;3932265113;12060 
terzoP;Via Cavour, 24;3915863173;81024 
quartoP;Via Duomo, 95;3555935297;57019 
quintoP;Via Sergente Maggiore, 142;3376561224;56010 
sestoP;Piazza della Repubblica, 46;3889300484;88070 
settimoP;Via San Pietro Ad Aram, 135;3369112023;20080 
ottavoP;Via Belviglieri, 117;3131026198;191 
nonoP;Via Tasso, 97;3318941971;6025 
decimoP;Via Nizza, 22;3202997859;31010 

Affiliazione.csv

は、ここで私は、自動的に自分のデータベースを作成するために使用しようとしているCSV、次のとおりです。

10000000001;primoP 
10000000002;secondoP 
10000000003;terzoP 
10000000004;quartoP 
10000000005;quintoP 
10000000006;sestoP 
10000000007;settimoP 
10000000008;ottavoP 
10000000009;nonoP 
10000000010;decimoP 

奇妙なことは、手動で 'Affilizione'の値私は参照エラーを持っていない、何かが間違っているのですか?

+0

に置き換えてください。投稿前に削除してしまいました。 –

+1

私の推測では、おそらく各行の最後にAffiliazione.csvファイルのいくつかの不可視の文字があります。おそらく '\ n \ 'でなく' \ r \ n'で終了しているかもしれません。この場合、名前は肉眼と同じように見えますが、名前は一致しません。 – Shadow

+0

私もそれを考えました。なぜなら、私はそれをエクセルでやったから、私は手動でブロックメモを使ってすべてのファイルを書き換えました! –

答えて

0

それは '\ n'の代わりに '\ r \ n'です。メモ帳++で発見。 LINES TERMINATED BY '\n'LINES TERMINATED BY '\r\n'

関連する問題