Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Добрый день, всем.
Подскажите пожалуйста ни у кого не было такой ситуации:
Загружаю большие данные через LOAD DATA LOCAL INFILE 'base.txt' INTO TABLE `stable` CHARACTER SET utf8 FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' - записей 115 тысяч. Загрузил посмотрел вроде всё хорошо. Но когда начинаю выводить данные нашел косяки. Захожу в базу данных и вижу, что часть данных таблицы съехала.
Большая часть таблицы выглядит идеально так:
Id name description total color
1 tovar1 super 150 green
2 tovar2 good 100 yellow
А вот часть таблицы где всё съехало - исчезла часть данных в поле name, и тем самым поле color пустое.
Id name description total color
87860 bad 150 green
87861 good 100 yellow
Пробовал и через csv, результат такой же.
Делил файл на несколько частей и загружал сначала с одного, потом со второго. Но никак не мог найти в чем проблема.
Спасибо.
Неактивен
А точно ли у Вас на каждой строке в csv-шке есть данные и нужное количество разделителей?
Неактивен
Ну да, в csv точка с запятой - делаю через FIELDS TERMINATED BY '\;'.
Все данные готовлю через Excel (там я в каждом столбце проверяю данные через фильтр) - затем копирую в txt файл и сохраняю в csv.
Неактивен
Есть конечно и такие данные в таблице <font color="green">color</font> - но если в этих символах проблема, тогда почему остальные нормально записались такие же
Неактивен
Начиная с какой строки начинается проблема? Как я понял, сначала записи "хорошо" вставляются, а потом начинаются проблемы?
Неактивен
Начинается на 87170 строке, затем это безобразие заканчивается на строке 87234 и дальше идет всё норм.
Неактивен
Я не про номер :-), а скорее к тому, что, видимо, на строке 87169 что-то не то - попробуйте убрать ее из исходного файла и посмотреть, пропадет ли безобразие (или отложится как минимум). Ничего подозрительного в строке не видно?
Неактивен
я вчера убирал этот диапазон и прибавлял на две строки вначале и конце диапазона. Всё равно не могу понять в чем загвоздка. Потом на строке 87670, хотя до этого эта строка была норм. Эти действия я вчера все делал, чтобы увидеть хоть какую-то подсказку. Может как-то экранировать поля?
Неактивен
Боюсь, что здесь только один путь - сперва найти строку, начиная с которой все ломается - потом уже её "препарировать". Как убедитесь, что все ломает конкретная строка - шлите её сюда.
Неактивен
Возможно ли что проблема была в двух пробелах? Я заменил два пробела на один и всё стало норм.
Неактивен
Скорее это не пробелы, а табуляция (\t) - разделитель полей.
Неактивен
Страниц: 1