бд создать новую таблицу содержащую FOREIGN KEY , который ссылается на пока что не существующую таблицу, то MySQL предупредит (поругается) - Cannot add foreign key constraint, и не создаст данную, новую таблицу, (это если делать в консоли MySQL или IDE)
НО, если я восстанавливаю ту же таблицу из файла mysqldump (где содержится лишь структура таблицы), сделаю это через консоль с помощью пайпа | ТО тогда данная таблица будет создана несмотря на то что FOREIGN KEY полей не существует...
Это от того что IDE получает код ответа от MySQL, который он считает "негативным" и откатывает создание (транзакцию?) таблицы? Или как? Почему через файл mysqldump все работает без отката?
скорее всего потому что в mysqldump будет волшебство вида set foreign_key_checks
нужно посмотреть. Там либо таблицы в нужном порядке создаются, либо в дампе SET foreign_key_checks=0;
Обсуждают сегодня