2017-01-23 4 views
0

Я экспортирую базу данных 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 к таблице. По сути, он не знает, являются ли какие-либо из этих столбцов внешними ключами или нет, когда он вызывает сообщение об ошибке.

Любые идеи?

ответ

0

Добавьте его в качестве флажка - отключить Foregin ключа проверки для этого запроса в PHPMyAdmin, чтобы сделать изменения в базе данных

+0

Добро пожаловать и попытаться использовать пример в объяснении. – Gahan