EgoRusMarch
@EgoRusMarch
C++ Developer

MySQL. Как загружать данные в таблицу (version 5.7)?

Работаю в терминале windows (cmd.exe). У него по умолчанию кодировка CP866 (OEM866).

Вот таблица для примера:
+------------+----------------------------------------------------+------+-----+---------+-------+
| Field      | Type                                               | Null | Key | Default | Extra |
+------------+----------------------------------------------------+------+-----+---------+-------+
| id_station | smallint(2) unsigned zerofill                      | NO   | PRI | NULL    |       |
| name       | varchar(30)                                        | NO   |     | NULL    |       |
| type       | enum('городская','ведомственная','учрежденческая') | NO   |     | NULL    |       |
+------------+----------------------------------------------------+------+-----+---------+-------+

Загружаю данные в UTF-8:
1	Северный	городская
2	Степной	городская
3	Лесной	городская
4	Солнечный	городская
5	Макаренко	городская
6	Олимпийский	городская
7	Ольминского	городская
8	Жукова	городская
9	Ленина	городская
10	Сталина	городская

Выгружаю:
01	Северный	
02	Степной	
03	Лесной	
04	Солнечный	
05	Макаренко	
06	Олимпийский	
07	Ольминского	
08	Жукова	
09	Ленина	
10	Сталина	городская

Последний столбец, кроме последней записи исчез (тип ENUM)

Сохраняю исходные данные в CP866 и пытаюсь загрузить:
mysql> load data local infile 'C:/SQL/1.txt' into table citynetwork;
ERROR 1300 (HY000): Invalid utf8 character string: ''
  • Вопрос задан
  • 2140 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Перед загрузкой скажите MySQL, в какой кодировке будете работать
SET NAMES cp866
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы