Я экспортирую базу данных mySQL с одного сервера на другой. Мой файл экспорта содержит все определения таблиц, данные, структуру и т. Д. Все таблицы используют движок InnoDB и кодировку utf8. Я импортирую с отключением «включения проверки внешнего ключа» - в моем файле экспорта также есть строка «SET FOREIGN_KEY_CHECKS = 0;».mySQL: ограничение внешнего ключа при импорте базы данных
Однако, когда я импортировать данные, я получаю ошибку «# 1215 - Невозможно добавить ограничение внешнего ключа»
Вот определение таблицы в файле ввода:
CREATE TABLE IF NOT EXISTS UserTable (
Index_i int(13) NOT NULL,
UserUUID_vc varchar(36) DEFAULT NULL,
AccountID_i int(13) DEFAULT NULL,
FirstName_vc varchar(30) DEFAULT NULL,
LastName_vc varchar(40) DEFAULT NULL,
Password_vc varchar(255) DEFAULT NULL,
Country_vc varchar(2) DEFAULT NULL,
DateRegistered_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
DateAccountTypeChanged_dt timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
DateAccountStatusChanged_dt timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
DateAcceptedTandC_dt timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=InnoDB AUTO_INCREMENT=165 DEFAULT CHARSET=utf8;
Бьет это перед тем, как прочитать какие-либо из утверждений, которые применяют ограничения, такие как FK к таблице. По сути, он не знает, являются ли какие-либо из этих столбцов внешними ключами или нет, когда он вызывает сообщение об ошибке.
Любые идеи?
Добро пожаловать и попытаться использовать пример в объяснении. – Gahan