Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

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

 

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

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

тема: Каскадное удаление в MySQL
 
 автор: hk416   (23.12.2012 в 19:07)   письмо автору
 
 

Всем добрый день господа. в общем есть такая вот таблица


mysql_query('CREATE TABLE topic_list ( id_topic_list INT AUTO_INCREMENT PRIMARY KEY,
 name TINYTEXT ,
 introduction TEXT,
 login TINYTEXT NOT NULL,
 id_user INT,
 date_topic datetime NOT NULL default "0000-00-00 00:00:00",
 number_topic int NOT NULL)
 ENGINE = Innodb;
 ')

or die("MySQL error: ".mysql_error());

mysql_query('CREATE TABLE list_discussions( id_list_discussions INT AUTO_INCREMENT PRIMARY KEY,
 id_topic_list INT NOT NULL,
 name TINYTEXT NOT NULL ,
 introduction TEXT NOT NULL ,
 login TINYTEXT NOT NULL,
 id_user INT, 
 date_list_discussions datetime NOT NULL default "0000-00-00 00:00:00",
 number_list_discussions int NOT NULL,
 FOREIGN KEY (id_topic_list) REFERENCES topic_list (id_topic_list)
 ON DELETE CASCADE
 ON UPDATE CASCADE)
 ENGINE = Innodb;
 ')
or die("MySQL error: ".mysql_error());

mysql_query('CREATE TABLE discussion ( id_post INT AUTO_INCREMENT PRIMARY KEY,
 id_list_discussions INT NOT NULL,
 name_post TINYTEXT NOT NULL ,
 post TEXT NOT NULL ,
 login TINYTEXT NOT NULL,
 id_user INT,
 date_post datetime NOT NULL default "0000-00-00 00:00:00",
 number_post  int NOT NULL,
 FOREIGN KEY (id_list_discussions) REFERENCES list_discussions (id_list_discussions)
 ON DELETE CASCADE
 ON UPDATE CASCADE)
 ENGINE = Innodb;
 ')
or die("MySQL error: ".mysql_error());


Хотел сделать так что бы если что то удаляю в topic_list, то по расставленным связям удалятся соответствующие строки в других 2-х таблицах, но к сожалению, этого не происходит, БД отказывается выполнять данное действие, скажите плизз в чем дело?

  Ответить  
 
 автор: hk416   (23.12.2012 в 19:48)   письмо автору
 
   для: hk416   (23.12.2012 в 19:07)
 

классс !!!!! Убрал ON UPDATE CASCADE и все заработало как надо )))))

  Ответить  
Rambler's Top100
вверх

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