Автор Тема: MySQL и референции  (Прочитано 2130 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Neter

  • Жустер
  • Старожил
  • ****
  • Сообщений: 324
  • +0/-0
  • 2
    • Просмотр профиля
MySQL и референции
« : 13 Сентября 2002, 12:03:45 »
Вот недавно захотел их поюзать, а они чё-то не катят..
У меня стоит MySQL версии: 3.23.42..

Почитал ФАКу к нему, там написано чё-то по типу:
rules_id integer NOT NULL REFERENCES rules

в таблице rules поле id - PRIMARY KEY

таблица создалась вроде нормально, без ошибок, но референции не работают..

Ещё пробывал так:
rules_id integer NOT NULL,
FOREGIN KEY (rules_id) REFERENCES rules(id)

Но при создании таблицы выскакиват ошибка синтаксиса в этом месте...
Мне тормоз послужил толчком...

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
MySQL и референции
« Ответ #1 : 13 Сентября 2002, 12:33:29 »
просто REFERENCES ничего не делают :) они для совместимости с другими СУБД :)

что касается foreign key - они поддерживаются только у таблиц InnoDB (обе таблицы), проверь какой тип твоей таблицы.
SHOW TABLE STATUS LIKE .. или SHOW CREATE TABLE

кроме того оба столбца (rules_id и rules(id)) - должны быть проиндексированы.

ПС: Если хочешь поиграться с  foreign key я бы тебе посоветовала проапгрейдится до 3.23.52, там не только проверякется ссылочная целостность, но и работают ON CASCADE DELETE, ON CASCADE SET NULL
да и багов достаточно было пофиксено.
На Машине Тьюринга далеко не уедешь.

Оффлайн Neter

  • Жустер
  • Старожил
  • ****
  • Сообщений: 324
  • +0/-0
  • 2
    • Просмотр профиля
MySQL и референции
« Ответ #2 : 13 Сентября 2002, 19:54:54 »
Ладно, спасибо, пойду качать 3.23.52..

П.С.
Незнал, что тут девушки ходют.. да ещё тАкие :)
Мне тормоз послужил толчком...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28