Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: FOREIGN KEY в InnoDB
 
 автор: kate_2   (05.06.2006 в 00:15)   письмо автору
 
 

Есть 2 таблицы, которые необходимо связать. parent и child (поля по которым необходимо связать имеют одинаковое название 'idr')

CREATE TABLE 'parend' (
'idr' smallint(5) unsigned NOT NULL auto_increment,
'pos' int(11) NOT NULL default '0',
'name' tinytext NOT NULL,
'addr' tinytext NOT NULL,
'title' tinytext NOT NULL,
'keyw' tinytext NOT NULL,
'desc_r' tinytext NOT NULL,
'h1' tinytext NOT NULL,
'content' text NOT NULL,
'hide' enum('show','hide') NOT NULL default 'show',
PRIMARY KEY ('idr'),
KEY 'idr' ('idr')
) TYPE=InnoDB

При помощи "связанного вида"
вот такая штука выполнилась:

ALTER TABLE 'child'
ADD CONSTRAINT 'child_ibfk_1' FOREIGN KEY ('idr') REFERENCES 'child' ('idr') ON DELETE CASCADE;

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

подскажите что я не правильно делаю, плиз!

   
 
 автор: cheops   (05.06.2006 в 02:55)   письмо автору
 
   для: kate_2   (05.06.2006 в 00:15)
 

Да вместо
ALTER TABLE child
ADD CONSTRAINT child_ibfk_1 FOREIGN KEY (idr) REFERENCES child (idr) ON DELETE CASCADE
следует писать
ALTER TABLE child
ADD CONSTRAINT child_ibfk_1 FOREIGN KEY (idr) REFERENCES parend (idr) ON DELETE CASCADE

   
 
 автор: kate_2   (05.06.2006 в 11:06)   письмо автору
 
   для: cheops   (05.06.2006 в 02:55)
 

Спасибо, ошибка найдена!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования