Mysql
 sql >> база данни >  >> RDS >> Mysql

Заредете данни от CSV в битово поле в mysql

Най-накрая намерих решението и го публикувам тук за бъдещи справки. Намерих помощ в ръчната страница за данни за зареждане на mysql .

Така че за целите на теста структурата на моята таблица е:

+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| nome   | varchar(45) | YES  |     | NULL    |       |
| valore | bit(1)      | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+

Моят csv тестовият файл е:

1,primo_valore,1
2,secondo_valore,0
3,terzo_valore,1

Заявката за зареждане на csv в таблицата е:

 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;

Както можете да видите, заредете csv трябва да направите cast cast(@valore as signed) и във вашия csv можете да използвате целочислената нотация 1 или 0 за да посочите bit стойност. Това е така, защото BIT стойностите не могат да бъдат заредени с двоична нотация (например b'011010' ).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqldump цялата структура, но само данни от избрани таблици в една команда

  2. MySQL 8.0 - Клиентът не поддържа протокол за удостоверяване, поискан от сървъра; помислете за надграждане на MySQL клиента

  3. Как да дефинирате персонализиран ред в клауза ORDER BY?

  4. Нуждаете се от помощ с йерархична Mysql заявка

  5. Проценти в MySQL