Konečně jsem našel řešení a posílám ho sem pro budoucí použití. Nápovědu jsem našel na stránce manuálu k načtení dat mysql .
Takže pro testovací účely je moje struktura tabulky:
+--------+-------------+------+-----+---------+-------+
| 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
testovací soubor je:
1,primo_valore,1
2,secondo_valore,0
3,terzo_valore,1
Dotaz k načtení csv
do tabulky je:
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 můžete vidět, načtěte csv
musíte provést cast cast(@valore as signed)
a ve vašem csv
můžete použít celočíselný zápis 1
nebo 0
k označení bit
hodnota. Je to proto, že hodnoty BIT nelze načíst pomocí binárního zápisu (například b'011010'
).