@olol777

#1005 — Can't create table '' (errno: 150)

Доброй ночи! Столкнулся с проблемой, не загружает бэкап!
Собственно сама ошибка:

Ошибка
SQL-запрос:

CREATE TABLE  `blogs` (

 `id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
 `user_id` INT( 10 ) UNSIGNED NOT NULL ,
 `ctg_id` SMALLINT( 5 ) UNSIGNED NOT NULL ,
 `dt` DATETIME NOT NULL ,
 `title` VARCHAR( 255 ) DEFAULT NULL ,
 `content` TEXT NOT NULL ,
PRIMARY KEY (  `id` ) ,
KEY  `blogusr` (  `user_id` ) ,
CONSTRAINT  `blogusr` FOREIGN KEY (  `user_id` ) REFERENCES  `users` (  `id` ) ON DELETE CASCADE
) ENGINE = INNODB AUTO_INCREMENT =14 /*!40101 DEFAULT CHARSET=utf8 */;


#1005 - Can't create table 'test.blogs' (errno: 150)


И еще половина таблиц успешно перенеслись, а половина выходят с такой ошибкой.
В чем может быть дело???

P.S. Хотел выложить ссылку на саму БД, но не знаю разрешено это или нет.
  • Вопрос задан
  • 13096 просмотров
Решения вопроса 1
spirik
@spirik
Инженер по ремонту компьютерной техники
Если оператор MySQL CREATE TABLE выдает ошибку с номером 1005, и в строке сообщения об ошибке присутствует ссылка на ошибку с номером 150, то произошел сбой создания таблицы из-за того, что ограничения внешнего ключа не были сформированы надлежащим образом.

отсюда - www.mysql.ru/docs/man/SEC451.html
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Проверьте, что у Вас уже создалась таблица `users`, в ней есть поле `users`.`id` INT( 10 ) UNSIGNED, это поле является первичным ключом или по нему строится индекс, в базе данных ещё не используется FK с именем `user_id`, таблицы `blogs` и `users` и поля `blogs`.`user_id` и `users`.`id` имеют одинаковые charset и collation.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы