EgoRusMarch
@EgoRusMarch
C++ Developer

MySQL. Как загружать данные в Linux (Mint)?

Не смог решить проблему с кодировками в Windows, перешел на Linux, уповая на то, что забуду этот гемор и доделаю курсач, но нет...

Кириллица даже в UTF-8 и командной оболочке bash умудрилась сохранится так:
+------------+----------------------------------------------------+------+-----+---------+-------+
| Field      | Type                                               | Null | Key | Default | Extra |
+------------+----------------------------------------------------+------+-----+---------+-------+
| id_station | smallint(2) unsigned zerofill                      | NO   | PRI | 00      |       |
| name       | varchar(30)                                        | NO   |     | NULL    |       |
| type       | enum('?????????','?????????????','??????????????') | NO   |     | NULL    |       |
+------------+----------------------------------------------------+------+-----+---------+-------+

Вот попытка загрузить данные в таблицу:
mysql> load data local infile '/home/egor/desktop/CityNetwork' into table CityNetwork
    -> fields terminated by '\t' lines terminated by '\n';

Вот такая ошибка:
ERROR 1148 (42000): The used command is not allowed with this MySQL version

Версия:
mysql> select version(); 
+-------------------------+
| version()               |
+-------------------------+
| 5.5.49-0ubuntu0.14.04.1 |
+-------------------------+
1 row in set (0.02 sec)
  • Вопрос задан
  • 370 просмотров
Решения вопроса 3
VladimirAndreev
@VladimirAndreev
php web dev
кодировка у таблицы какая? правильно, latin1.
Ответ написан
EgoRusMarch
@EgoRusMarch Автор вопроса
C++ Developer
Нужно было ввести mysql --local-infile=1
Ответ написан
Комментировать
@abcd0x00
Это в настройках
[guest@localhost ~]$ cat /etc/my.cnf.d/charsets.cnf 

# My config file for charset

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
character-set-server = utf8
collation-server = utf8_unicode_ci

[client]
default-character-set = utf8
[guest@localhost ~]$


Это при создании таблицы
CREATE TABLE tab (a INT, b VARCHAR(255))
CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Пример
mysql> create table tab (a int, b text) character set utf8 collate utf8_unicode_ci;
Query OK, 0 rows affected (0.07 sec)

mysql>
mysql> insert into tab values (1, 'абвгд');
Query OK, 1 row affected (0.02 sec)

mysql> select * from tab;
+------+------------+
| a    | b          |
+------+------------+
|    1 | абвгд      |
+------+------------+
1 row in set (0.00 sec)

mysql>

Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы