Перейти к контенту

Внешний ключ


Рекомендуемые сообщения

Всем здрасте. Не могу создать таблицу с внешним ключом в виде отдельного элемента таблицы с использованием FOREIGN KEY.

Ввожу: CREATE TABLE Orders

-> (

-> OrderID SMALLINT UNSIGNED NOT NULL PRIMARY KEY,

-> ModelID SMALLINT UNSIGNED NOT NULL,

-> ModelDescrip VARCHAR(40),

-> FOREIGN KEY (ModelID) REFERENCES Models (ModelID)

-> );

Получаю: ERROR 1005 (HY000): Can't create table '.\auto\orders.frm' (errno: 150).

 

Подскажите плиз, что это такое и почему не создается таблица?

Заранее спасибо.

Ссылка на комментарий
Поделиться на других сайтах

Barkas

MySQL error code 150: Foreign key constraint is incorrectly formed

 

хм..

 

Какая версия MySQL ? У меня в 5-ке без проблем запрос вкурился.

 

Этого не предпринимал случайно?

http://www.sql.ru/forum/actualthread.aspx?tid=567368

Ссылка на комментарий
Поделиться на других сайтах

Внешние ключи до 5.1 вообще игнорировались.

Поэтому может автор хочет на старой версии запустить?

Ссылка на комментарий
Поделиться на других сайтах

учитывая что 5.1 пока все еще developer release смысла нет это просто зарезервированное слово, ничего не значащее ) (ну за исключением InnoDB)
Ссылка на комментарий
Поделиться на других сайтах

xRay http://www.sql.ru/forum/actualthread.aspx?tid=567368 не предпринимал.

 

Версия у меня 4.1.16 мож все дело в версии, если в ней, то какую посоветуете?

Ссылка на комментарий
Поделиться на других сайтах

Проблема известная:

http://forums.mysql.com/read.php?25,15717,15717#msg-15717

ставте 5-у.

Но решить проблему можно:

перед выполнением запроса выполните

SET FOREIGN_KEY_CHECKS = 0

после выполнения выполните

SET FOREIGN_KEY_CHECKS = 1

 

но если вы создаете MyIsam таблицу, то смысла, еще раз повторюсь, использовать внешний ключ нет никакого, эта конструкция не влияет на этот тип таблицу до версии 5.1

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.