[MySQL] LOAD DATA LOCAL INFILE przesuwa kolumny


(Manonim93) #1

Fragment większego pliku:

IDucznia;nazwisko;imie;ulica;dom;IDklasy

1;Baczynska;Danuta;Kiedrzynska;42;1a

2;Berdysowa;Maria;Wyzwolenia;80;1a

3;Byczkowska;Ewa;Ludowa;83;1a

4;Cygan;Aneta;Sportowa;89;1a

5;Cygan;Henryka;Sportowa;88;1a

6;Czarnoleska;Aneta;Fieldorfa;39;1a

7;Derda;Beata;Porajska;79;1a

8;Frukacz;Anna;Kiedrzynska;95;1a

9;Gnutek;Ewa;Kiedrzynska;15;1a

Próbuje ten plik wczytać do tabeli o takiej strukturze:

+----------+------------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+----------+------------------+------+-----+---------+----------------+

| idUcznia | int(10) unsigned | NO | PRI | NULL | auto_increment |

| nazwisko | char(80) | NO | | NULL | |

| imie | char(50) | NO | | NULL | |

| ulica | char(50) | NO | | NULL | |

| dom | int(10) unsigned | NO | | NULL | |

| idKlasy | char(10) | NO | | NULL | |

+----------+------------------+------+-----+---------+----------------+

Za pomocą polecenia:

LOAD DATA LOCAL INFILE '~/Pulpit/uczniowie.txt' INTO TABLE uczniowie FIELDS TERMINATED BY ';' IGNORE 1 LINES

Ale gdzieś mi gubi ostatnią kolumnę ponieważ:

select * from uczniowie;

wygląda tak:

+----------+--------------------+------------+----------------+-----+---------+

| idUcznia | nazwisko | imie | ulica | dom | idKlasy |

+----------+--------------------+------------+----------------+-----+---------+

     | 1 | Baczynska | Danuta | Kiedrzynska | 42 | 1a

     | 2 | Berdysowa | Maria | Wyzwolenia | 80 | 1a

     | 3 | Byczkowska | Ewa | Ludowa | 83 | 1a

     | 8 | Frukacz | Anna | Kiedrzynska | 95 | 1a

     | 9 | Gnutek | Ewa | Kiedrzynska | 15 | 1a

     | 10 | Jeziak | Maciej | Starzynskiego | 39 | 1a

     | 11 | Kamil | Magdalena | Ksiezycowa | 70 | 1a

     | 414 | Chalaszczyk | Agnieszka | Iwaszkiewicza | 21 | 3e

+----------+--------------------+------------+----------------+-----+---------+

414 rows in set (0.00 sec)

ale

select idKlasy from uczniowie;

wygląda tak:

+---------+

| idKlasy |

+---------+

     |

     |

     |

     |

     |

     |

     |

+---------+

414 rows in set (0.00 sec)

Ostatnia kolumna gdzieś się zapisała, ale nie tam gdzie do końca miałą się zapisać :smiley:


([alex]) #2

Polecam przepuścić plik przez dos2unix, przed LOAD DATA


(Manonim93) #3

Wielkie dzięki alex problem był faktycznie trywialny :smiley: