W końcu znalazłem rozwiązanie i zamieszczam je tutaj na przyszłość. Znalazłem pomoc na stronie podręcznika ładowania danych mysql .
Tak więc do celów testowych moja struktura tabeli to:
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| nome | varchar(45) | YES | | NULL | |
| valore | bit(1) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
Mój csv
plik testowy to:
1,primo_valore,1
2,secondo_valore,0
3,terzo_valore,1
Zapytanie do załadowania pliku csv
w tabeli jest:
load data infile 'test.csv' into table test
fields terminated by ',' lines terminated by '\n'
(id, nome, @valore) set
valore=cast(@valore as signed);
show warnings;
Jak widać, załaduj csv
musisz wykonać rzut cast(@valore as signed)
i w swoim csv
możesz użyć notacji całkowitej 1
lub 0
aby wskazać bit
wartość. Dzieje się tak, ponieważ wartości BIT nie można załadować za pomocą notacji binarnej (na przykład b'011010'
).