Импортировать таблицы только из полного экспорта базы данных MySql
Если я экспортировал файл .sql с моей базой данных, могу ли я импортировать в MySql только "части" этой базы данных вместо всей базы данных?
Вопрос возник, когда я пробовал его в тестовой базе данных.
Я экспортировал базу тестов.
Затем опустели некоторые таблицы в базе данных.
Затем я планировал импортировать из файла.sql и надеюсь, что пустые таблицы будут заполнены тем, чем они были заполнены.
Но я получаю ошибку:
#1007 Can't create database 'database_name' - database exists
Конечно, он существует, но возможно ли импортировать только значения уже существующих таблиц из резервной копии.sql?
Или я должен удалить всю базу данных, а затем импортировать базу данных?
К вашему сведению, я использую PhpMyAdmin для этого в настоящее время.
2 ответа
Отредактировать файл и удалить те части, которые вы не заинтересованы в восстановлении, Камран.
В качестве альтернативы - импортируйте весь файл в отдельную базу данных (измените имя базы данных в верхней части файла), а затем используйте операторы INSERT, чтобы скопировать данные из таблиц в этой новой базе данных в другую.
Я решил эту проблему, написав скрипт для дампа каждой таблицы в каждый отдельный файл и все CREATE TABLE
Заявления отключены в собственном файле. За долгие годы это стало немного длинным и модным, поэтому я не могу опубликовать это здесь.
Другой подход заключается в указании MySQL игнорировать ошибки. С CLI вы предоставляете -f
переключиться, но я не достаточно знаком с PhpMyAdmin, чтобы знать, как это сделать.