Обновите MySQL Table, используя файл CSV

Моя текущая таблица MySQLemployee_data имеет 13 тысяч строк с 17 столбцами. Данные в таблице взяты из файла CSVEmployees.csv, после импорта моих csv-данных я добавил новый столбец «пароль»; (поэтому его нет в файле CSV) Пароль редактируется и доступен через веб-портал. Теперь у меня есть обновленный файл CSV, и я хочу обновить свою основную таблицу этими данными, но я не хочу потерять информацию о моем пароле.

Должен ли я импортировать мой новый CSV-файл во временную таблицу в моей базе данных и как их сравнить? Я не уверен, с чего начать, и я открыт для рекомендаций.

I am now realizing I should have kept my password info in a separate table. Doh!

Я думаю, я мог бы создать php-файл, который сравнивает каждую строку на основе поля employee_id, но я боюсь, что время ожидания может составить 13 строк

 user116614713 июн. 2012 г., 18:35
Вы запрашиваете код или инструмент запроса?
 Denoteone13 июн. 2012 г., 18:37
Я думаю, что проще всего было бы получить запрос (код) mysql, который бы сравнивал и обновлял то, что нужно.
 Gntem13 июн. 2012 г., 18:29
Вы пробовали инструменты, такие как MySQL Workbench?
 Denoteone13 июн. 2012 г., 18:31
Я не имею, но буду смотреть на них сейчас.

Ответы на вопрос(2)

Попробуйте другие инструменты, кроме основанных на PHPphpMyAdmin MySQL верстак отличный инструмент, в зависимости от вашего соединения запрос базы данных с вашими данными займет некоторое время.
Есть обходные пути с ограничением времени ожидания php, set_time_limit ();

Решение Вопроса

Create a temp table using CREATE TABLE new_tbl LIKE orig_tbl; syntax use LOAD DATA INFILE to import the data from the CSV into the table Use UPDATE to update the primary table using a primary key / unique column (perhaps employee_id)

Я работал с таблицами, содержащими 120 миллионов строк, и импортировал в них CSV-файлы, содержащие в себе 30 миллионов строк - этот метод я использую все время - гораздо более эффективный, чем что-либо в PHP (и это мой выбор на стороне сервера)

 09 июл. 2013 г., 15:20
Раньше я думал, что это не очень хорошая идея для ежедневного обновления, так как для этого нужно создать временную таблицу на сервере базы данных. Но это правда, это самый простой способ по сравнению с использованием php для обновления строк.
 Denoteone13 июн. 2012 г., 18:44
сделано и сделано спасибо.
 13 июн. 2012 г., 18:47
Я делаю одно и то же каждый день с несколькими файлами 60 ГБ ... это всегда самый чистый / безопасный способ сделать это
 13 июн. 2012 г., 18:43
@ Denoteone Я предлагаю вам сделать резервную копию ваших данных, прежде чем пытаться сделать это ....
 Denoteone13 июн. 2012 г., 18:42
Я думаю, что это вариант, который я собираюсь попробовать в первую очередь. Благодарю.

Ваш ответ на вопрос