MySQL экспорт SQL-дамп в алфавитном порядке, что приводит к ошибке ограничения внешнего ключа во время импорта - PullRequest
7 голосов
/ 24 марта 2010

У меня есть 10 таблиц в моей базе данных (MySQL). два из них приведены ниже

tbl_state

state_id    |int(10)  |UNSIGNED ZEROFILL  auto_increment 
state_name  |varchar(40) 

tbl_city

city_id     |int(10)  |UNSIGNED ZEROFILL  auto_increment 
city_name   |varchar(40) |
state_code  |int(10)  | UNSIGNED ZEROFILL (FK reference with tbl_state.state_id)

Ограничение внешнего ключа: tbl_city.state_code является ссылкой на tbl_state.state_id .

теперь моя проблема

когда я экспортирую все таблицы и импортирую снова, это дает

foreign key constraint fails error.... потому что когда я экспортирую дамп mysql, дамп sql генерируется в алфавитно упорядоченных таблицах и tbl_city предшествует tbl_state в базе данных.

Пожалуйста, подскажите, как мне справиться с этим сценарием?

Есть ли способ, чтобы все таблицы располагались в порядке ссылок на внешние ключи?

Ответы [ 2 ]

7 голосов
/ 24 марта 2010

Вы хотите отключить проверки внешнего ключа в начале дампа, а затем включить их после сброса всех данных:

SET FOREIGN_KEY_CHECKS=0

... dump ...

SET FOREIGN_KEY_CHECKS=1
0 голосов
/ 02 августа 2017

Случайно, если вы используете SQLYog. Используйте это свойство. enter image description here

...