Необходимо восстановить из дампа немного строк в определённую таблицу, подскажите, пожалуйста, какое-нибудь оптимальное решение, при условии, что их всего в районе 10, т.е. какая-то полная автоматизация не требуется.
Дело в том, что надо было восстановить также и отдельную таблицу, загуглил, первые 10 результатов - советы как с помощью sed/awk/perl вытаскивать эти данные и вставлять в базу, какие-то непонятные скрипты и прочее, и только в глубине выдачи был вариант:
Загрузить дамп во временную базу, сделать дамп таблицы, загрузить дамп уже в текущую базу.
Просто и быстро, никаких парсилок.
Может и со строчками можно что-то такое провернуть? Вот допустим ввёл в phpmyadmin select where, можно ли как-то из него сформировать готовый sql на insert всего этого добра?
Ну или хотя бы вручную по строке.
И по поводу auto increment, он будет новый или старый?
В принципе, да, но я выше уточнил, что годный и красивый вариант с целой таблицей был в гугле аж после 10 результата, до этого тоже предлагалось и парсить целый дамп, чтобы вытащить таблицу, и даже в текстовом редакторе открывать.
Вот интересуюсь не столько на сейчас, сколько на будущее, может как-то можно селект превратить в инсерт со всеми данными, что выдал селект.
anna_makeenko, вот спасибо, с where то что нужно.
Думаю, стоит отредактировать ответ и добавить этот вариант, потом поставлю что вопрос решён (не уверен, если поставить сейчас, можно ли будет после этого отредактировать).
И на всякий случай напоминание, что надо убрать в получившемся дампе drop table/create table, а то мало ли.
А вот по поводу alter и disable keys, а также lock не уверен.
Может нужно убрать вообще всё, и оставить только инсерты?
Upd. Попробовал оставить только insert, вроде всё правильно импортировалось.
anna_makeenko, это да, но --skip-opt я считаю следует добавить в ваш ответ, ну или хотя бы упоминание того, что по умолчанию дамп будет с drop table.
Мне кажется это важно, а то кто-нибудь так сделает, зальёт обратно, а получится что строки не добавились к существующим, а дропнулась таблица и там только то, что из выборки where.
anna_makeenko, проверил, в таблице остаются только те 24 строки, что были из выборки mysqldump с where, остальные 22000 записей приказали долго жить.
У кого-то может случиться печалька, если перед манипуляциями забудет сделать полный дамп.
Со --skip-opt и --no-create-info всё на месте, добавляются 24 строки.