Я пытаюсь импортировать таблицу в PHPMyAdmin, в моей базе данных есть 2 таблицы, одна из которых называется "table 3". Когда я пытаюсь импортировать базу данных в PHPMyAdmin, он не проверяет, существует ли уже таблица с именем "table 3". Поэтому PHPMyAdmin автоматически пытается импортировать файл в "table 3", что не удается, поскольку в загружаемой мной базе данных количество столбцов совершенно отличается от существующей "table 3".
Я надеялся, что PHPMyAdmin создаст "table 4", но этого не произошло. Простая проверка того, существует ли уже таблица перед импортом, была бы очень полезным дополнением к программному обеспечению. Другие таблицы были импортированы автоматически, но я удалил "table 2", так как она была неправильной, поэтому было 2 таблицы, и одна из них называлась "table 3".
решение1
Вы можете добавить drop table if exists mytable
в начало файла импорта.
Кроме того, вы можете добавить ключевое слово CASCADE
к предыдущему оператору, чтобы удалить дочерние таблицы с учетом ограничений.
Взгляните на документ:http://dev.mysql.com/doc/refman/5.6/en/drop-table.html
Не знаю, откуда взялся ваш файл импорта, но PHPMyAdmin способен генерировать файлы экспорта/импорта с уже встроенным этим оператором.
Редактировать: Я бы не считал это "багом". PHPMyAdmin запускает файлы sql с помощью команд sql. Я бы рассмотрел написание правильных скриптов sql вместо того, чтобы считать это "багом".