MySQL LOAD DATA IN FILE обновить один столбец - PullRequest
1 голос
/ 08 февраля 2012

Я пытаюсь заполнить разреженную таблицу из набора из 10 входных файлов TSV.

В каждом файле есть primary_key, значения столбцов для одного из столбцов в таблице назначения.

Однако каждый файл имеет свой набор первичных ключей, для которых он имеет значения.

Я хочу загрузить их в таблицу, используя LOAD DATA IN FILE.

Первый файл загружается нормально, ноВторой сталкивается с проблемами при обнаружении дубликата первичного ключа.

Если я использую REPLACE в запросе, значение, загруженное в первый столбец, теряется, но если я использую IGNORE, значение не загружается ввторой столбец.

Есть ли способ сделать это, кроме манипулирования волосатым текстом, чтобы объединить все входные файлы в один файл?

1 Ответ

0 голосов
/ 08 февраля 2012

Это происходит потому, что режим REPLACE удаляет первые записи.

Согласны с Гиришем Рао об использовании временной таблицы.Вот пример такого решения - http://forums.mysql.com/read.php?10,362103,362423#msg-362423

Также вы можете использовать Инструмент импорта данных (режим добавления / обновления) в dbForge Studio for MySQL (импорт данных из CSV-файла не имеет ограничений в бесплатной версии Express Edition.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...