sql >> Databáze >  >> RDS >> Mysql

Načtěte data z CSV do bitového pole v mysql

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' ).



  1. použijte stejný spouštěč pro různé tabulky

  2. PHP Caching - Je rychlejší uložit do databáze nebo vytvořit soubor?

  3. Nelze použít připojení MySQL pro rámec entity 6

  4. Úvod do SQL příkazů