помогите с вставкой mysql - PullRequest
0 голосов
/ 29 июня 2010

У меня есть некоторые данные из старой таблицы с большим количеством столбцов, которые мне нужно вставить в новую таблицу, с не таким большим количеством столбцов.

Если вы просто попытаетесь импортировать данные дампа sql из старой таблицы непосредственно в новую, вы получите сообщение об ошибке:

Unknown column 'fake' in 'field list'

Есть ли способ заставить это игнорировать ошибки(INSERT IGNORE не работает!), Без перезаписи всего файла дампа?Другой вариант, который я рассмотрел, - это изменить новую таблицу, добавить ее обратно в старые столбцы, затем выполнить импорт, а затем снова изменить, чтобы отбрасывать эти столбцы после импорта.

Спасибо за любые идеи.

Ответы [ 2 ]

0 голосов
/ 29 июня 2010

Вы всегда можете изменить файл дампа в соответствии с текущей структурой базы данных. Простой search & replace может просто сделать это.

INSERT INTO old_table(field1, field2) VALUES(...);
vs
INSERT INTO new_table(new_field1, new_field2) VALUES (...);
0 голосов
/ 29 июня 2010

Я бы изменил имя столбца, чтобы он соответствовал файлу дампа, импортировал его и затем переименовал имя столбца.

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