У меня возникла проблема при обновлении приложения django и mysql с юга.Ошибка 1005 при добавлении ограничения внешнего ключа в таблице mysql
Я попытался сделать обновление на основе sql с кодом, сгенерированным командой django sqlall, и у меня есть аналогичная проблема.
Вот код SQL:
CREATE TABLE `programmations_basissupport` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`value` numeric(6, 0) NOT NULL
)
ALTER TABLE `programmations_concert` ADD `basis_support_id` integer AFTER program_status_id;
ALTER TABLE `programmations_concert` ADD CONSTRAINT `basis_support_id_refs_id_1e4ed8d7` FOREIGN KEY (`basis_support_id`) REFERENCES `programmations_basissupport` (`id`);
возникает ошибка при добавлении ограничения FK:
ERROR 1005 (HY000): Can't create table 'apidev_mnl.#sql-106e_632b00a' (errno: 150)
Кто-нибудь есть идеи?
Обновление: значения DEFAULT, где отсутствует, но даже если я добавлю по умолчанию значение '' в модели django, создание внешних ключей не удастся.
Спасибо за вашу помощь
проверить это сообщение - http://stackoverflow.com/questions/34579/mysql-error-1005-when-adding-tables – 0x2D9A3
Спасибо. Я думал о несоответствии типа, но оба они являются целыми (11). SHOW ENGINE INNODB STATUS возвращает ошибку «Доступ запрещен: вам нужна привилегия PROCESS для этой операции» – luc
Вам нужно запустить SHOW ENGINE INNODB STATUS в качестве более привилегированной учетной записи, такой как пользователь root mysql, или предоставить привилегию PROCESS учетную запись, которую вы используете. –