2017-01-04 7 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' 
    (); 

и я получил это ошибка:

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)

повторяется 10 раз и

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

Вот CSV, что я пытаюсь использовать для автоматического заполнения моей базы данных:

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:

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 файла, вероятно, в конце каждой строки. Возможно, строки заканчиваются '\ r \ n', а не просто' \ n'. В этом случае имена не будут совпадать, хотя имена выглядят одинаково невооруженным глазом. – Shadow

+0

Я тоже думал, что я сделал это с помощью excel, поэтому я вручную переписал все файлы, используя блокнот! –

ответ

0

Ok. что wai it '\ r \ n' вместо '\ n'. Открыт с помощью блокнота ++. Для того, чтобы заставить его работать просто заменить LINES TERMINATED BY '\n' с LINES TERMINATED BY '\r\n'

 Смежные вопросы

  • Нет связанных вопросов^_^