Ho finalmente trovato la soluzione e la pubblico qui per riferimento futuro. Ho trovato aiuto nella pagina di manuale dei dati di caricamento di mysql .
Quindi, a scopo di test, la struttura della mia tabella è:
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| nome | varchar(45) | YES | | NULL | |
| valore | bit(1) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
Il mio csv il file di prova è:
1,primo_valore,1
2,secondo_valore,0
3,terzo_valore,1
La query per caricare il csv nella tabella è:
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;
Come puoi vedere, carica il csv devi fare un cast cast(@valore as signed) e nel tuo csv puoi usare la notazione intera 1 o 0 per indicare il bit valore. Questo perché i valori BIT non possono essere caricati utilizzando la notazione binaria (ad esempio, b'011010' ).