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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Не работает каскадное удаление

Сообщения:  [1-10]    [11-20]  [21-29] 

 
 автор: kate_2   (06.06.2006 в 21:36)   письмо автору
 
   для: Trianon   (06.06.2006 в 21:24)
 

может быть...я уже запарилась

   
 
 автор: Trianon   (06.06.2006 в 21:24)   письмо автору
 
   для: kate_2   (06.06.2006 в 21:12)
 

Между прочим. Диагностика заставляет подумать: а руками удалить все страницы, связанные с удаляемым разделом в принципе можно? Может из-за каких-то других ограничений системе не удается удалить pages?

   
 
 автор: Trianon   (06.06.2006 в 21:17)   письмо автору
 
   для: kate_2   (06.06.2006 в 21:12)
 

Что посоветую? Сделать как я.
С нуля создать еще одну БД, и в ней эту пару таблиц.
Сперва с одним ограничением для каскадного удаления.
И проверить.
Во всяком случае любые побочные эффекты уйдут.

   
 
 автор: kate_2   (06.06.2006 в 21:12)   письмо автору
 
   для: Trianon   (06.06.2006 в 21:10)
 

ну Вы поняли? :)
что посоветуете ?
меня больше всего удаление волнует...хотя обновление тоже, но оно хотя бы работает...

   
 
 автор: Trianon   (06.06.2006 в 21:10)   письмо автору
 
   для: kate_2   (06.06.2006 в 20:59)
 

>Я не меняю поля раздела.
>Необходимо чтобы при изменении поля hide в родительской таблице razdel
:)

   
 
 автор: kate_2   (06.06.2006 в 20:59)   письмо автору
 
   для: Trianon   (06.06.2006 в 20:51)
 

>Я не понимаю смысла вытягивать это поле в родительскую таблицу.
>Только чтобы чуть-чуть упростить запрос изменения поля для раздела?
Я не меняю поля раздела.
У меня 2 таблицы razdel и pages.
razdel - родительская
pages - дочерняя
В razdel и pages есть в каждой по полю hide.
Необходимо чтобы при изменении поля hide в родительской таблице razdel менялись всеполя в дочерней таблице pages.
Я слеласа по индексу для полей hide в кажной таблице.

и написала такое выражение
ADD CONSTRAINT 'pages_ibfk_2' FOREIGN KEY ('hide') REFERENCES 'razdel' ('hide') ON DELETE NO ACTION ON UPDATE CASCADE;

А про каскадное удаление писали, что должно работать в версии 3.22.22 (точно не помню, но у сеня то 4 с чем-то)

   
 
 автор: Trianon   (06.06.2006 в 20:51)   письмо автору
 
   для: kate_2   (06.06.2006 в 20:42)
 

>да у меня обновление с hide работает, может он умный и сам
>понимает что ограничитеть (обновления дочерних таблиц) - это
>первичный ключ в родительской....
Я не понимаю смысла вытягивать это поле в родительскую таблицу.
Только чтобы чуть-чуть упростить запрос изменения поля для раздела?
Тем более что поведение явно напоминает некий побочный эффект, нежели документированное действие.
Если Вы пришлете данные страниц для других разделов, я могу проверить и каскадное обновление.
Только всё равно это игра на грани фола. По-моему.

   
 
 автор: Trianon   (06.06.2006 в 20:47)   письмо автору
 
   для: kate_2   (06.06.2006 в 20:42)
 

>а удаление каким чудом у Вас работает? у меня не хочет
>никак, всё та же ошибка
не знаю... впрочем, у меня MySQL посвежее: 5.0.18-max . Может, поэтому.

   
 
 автор: kate_2   (06.06.2006 в 20:42)   письмо автору
 
   для: Trianon   (06.06.2006 в 20:35)
 

да у меня обновление с hide работает, может он умный и сам понимает что ограничитеть (обновления дочерних таблиц) - это первичный ключ в родительской....

а удаление каким чудом у Вас работает? у меня не хочет никак, всё та же ошибка

   
 
 автор: Trianon   (06.06.2006 в 20:35)   письмо автору
 
   для: kate_2   (06.06.2006 в 20:19)
 

>как разрешили InnoDB?

ну, я на денвере пробую, а в нём innoDB по умолчанию выключен в конфиге mysql строкой skip-innodb
чтобы зазря процессор не жечь, все ж таки innoDB ресурсы ест сильнее чем MyISAM.

>
>а у Вас с констрэйнтом hide работает?
откровенно говоря не пробовал. Сейчас попробую.
....
Попробовал. Тоже работает. В смысле - удаление раздела О Компании приводит к удаелнию страниц.

   

Сообщения:  [1-10]    [11-20]  [21-29] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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