Непонятное поведение при импорте данных в Mysql с использованием LOAD DATA INFILE

Я пытаюсь импортировать текстовый файл формы данных в базу данных mysql. Я использовал оператор LOAD DATA INFILE, но он не работает.

Мой текстовый файл выглядит следующим образом с полями, заканчивающимися символом '\ t', и строками, заканчивающимися символом '\ n':

2102308562  2102298734  2   75
2102308562  2409206932  2   15
2102308562  1706425142  2   9
2102308562  2817061695  2   6
2102308562  1738818365  2   52
2102308562  2102304314  2   16
2102308562  1732994262  2   2
2102308562  1952263417  2   1

Таблица, которую я хочу вставить, определяется следующим утверждением:

CREATE TABLE `t_user_action` (
    `Subject_user_id` INT(32) UNSIGNED NOT NULL COMMENT ,
    `Object_user_id` INT(32) UNSIGNED NOT NULL COMMENT ,
    `Action_id` INT(32) UNSIGNED NOT NULL COMMENT ,
    `Action_count`  INT(32) UNSIGNED NOT NULL COMMENT ,
    PRIMARY KEY (`Subject_user_id`,`Object_user_id`,`Action_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Мой оператор импорта такой:

LOAD DATA INFILE 'UserRetweet.txt' INTO TABLE t_user_action CHARACTER SET utf8

Моя проблема в том, что после выполнения инструкции загрузки данных infile. Значение первого столбца в первой строке становится 0, но другие значения верны.

Искал в интернете и не могу найти решения! Спасибо за любой совет!


person Chasefornone    schedule 13.12.2012    source источник


Ответы (1)


Вероятно, у вас есть метка порядка байтов в начале файла UTF-8.

person Olexa    schedule 13.12.2012