Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Связанные записи в БД
Форумы портала PHP.SU » » Работа с СУБД » Связанные записи в БД

Страниц (1): [1]
 

1. spsu - 18 Октября, 2013 - 00:28:09 - перейти к сообщению
В общем трудно объяснить что к чему, есть набор записей в таблице они могут быть помечены как присоедененные к одной запси для этого в таблице есть поле merged, при удалении записи надо чтобы все записи которые к ней присоединены тоже были удалены как бы это реализовать, на уровне СУБД(mysql), нужно что-то типа внешних ключей с ON DELETE CASCADE..
2. caballero - 18 Октября, 2013 - 00:49:27 - перейти к сообщению
ну так и организовывай каскадное уддаление
только оно работает в innodb
в myisam можно триггеры написать

хотя не понятно на фига такое надо - удаляй обычным delete сначала подчиненные потом основные записи
3. spsu - 18 Октября, 2013 - 01:01:13 - перейти к сообщению
caballero пишет:
ну так и организовывай каскадное уддаление
только оно работает в innodb
в myisam можно триггеры написать

хотя не понятно на фига такое надо - удаляй обычным delete сначала подчиненные потом основные записи

Ну с внешними ключами все понятно там при создании указывается каскадное удаление, хотелось бы чтобы главную запись удаляешь а она уже присоедененные тянула за собой, да тип бд innodb.
4. caballero - 18 Октября, 2013 - 02:10:49 - перейти к сообщению
значит обычное каскадное удаление - какие проблеммы.
5. spsu - 18 Октября, 2013 - 02:33:01 - перейти к сообщению
caballero пишет:
значит обычное каскадное удаление - какие проблеммы.

А как это обычное, я до этого подобного не делал.
7. spsu - 18 Октября, 2013 - 03:05:58 - перейти к сообщению
caballero пишет:
http://www.mysql.ru/docs/man/SEC451.html

А как это применить к одной таблице в которой ее записи связаны?
Там же ман по внешним ключам..
8. deblogger - 01 Ноября, 2013 - 10:42:37 - перейти к сообщению
Элементарно spsw.

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]


http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]0/en/delete[dot]html

 

Powered by ExBB FM 1.0 RC1