Mysql Не срабатывает триггер при каскадном удалении

Vano

Новичок
К примеру:
есть таблица user (id, email)
есть таблица profile (id, user_id, bla_bla) где user_id - foreign key на таблицу user, поле id (On delete - , on update - cascade)
в таблице profile есть триггер ( on delete - обновить время последнего изменения таблицы profile (время последних изменений таблиц, я записываю в отдельной таблице, так как в InnoDB таблицах, почему-то не предусмотрена возможность посмотреть когда же она последний раз изменялась.))
Так вот заметил - если удалить запись с таблицы user, то триггер таблицы profile не срабатывает и я не могу увидеть, что profile таблица изменилась.

Что мне делать?) Время последнего изменения таблиц мне нужно для кэширования. Может есть где в настройках перемычка которая позволит запускать триггеры при каскадном удалении?
 

Vano

Новичок
Может можно как-то узнать время последнего изменения таблиц инноДб? Ато триггер походу не запустится никак при каскадном удалении, читал - такое поведение считают правильным. При чем в Mysql 5.6
 
Последнее редактирование:

grigori

( ͡° ͜ʖ ͡°)
Команда форума
я нагуглил описание проблемы и решение за 1 минуту! а ты? :)
 

Vano

Новичок
Это решение мне не подходит) "Удалить каскад удаление, в замен сделать удаление по тригеру"?
 

Vano

Новичок
Это решение мне не подходит) "Удалить каскад удаление, в замен сделать удаление по тригеру"?
если это - то не подходит. мне нужно почти ко всем таблицам провернуть такую махинацию) а их у меня 50 штук) плюс к чему, я сдаю не на 100% готовое приложение. Потом кто-то будет новые фичи доделывать. И если он не увидит что я вместо каскад удалений делаю тригера, могут начаться проблемы)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
если в документации прямым текстом написано, что при удалении по fk триггеры не дергаются, а ты этого не прочел, не проверил, и теперь очень хочешь чтобы дед мороз все-таки пришел, и все заработало - какие варианты?
переходи на нормальную СУБД
 

Vano

Новичок
Та прочел я, прочел.
Вариант нашел наиболее подходящий для меня, правда трудный. Почему подходящий, потому что смогу это решить с помощью переменных, и не надо будет при каждом добавлении внешнего ключа, переделывать триггеры. В триггере, помимо обновления даты обновления таблицы, добавить : взять все ссылающиеся на эту таблицу ключи, проверить присутствие записей связанных этими ключами с OLD записью. И бахнуть дату изменения таблиц по ключам которых я нашел записи.
переходи на нормальную СУБД
Дельный совет) А на какую посоветуете? Какой чаще всего пользуются, у какой хорошая документация. У какой жесткий синтаксис, чтобы всем приходилось писать одинаковый код?)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
:) это был сарказм. переход и освоение другой субд у тебя займент на порядок больше времени, чем решение этой проблемы.

твоя идея показывает, что ты - любитель экстравагантных способов выстрелить себе в ногу, а так же недолгой, но нескучной жизни своих проектов, так что могу порекомендовать mongo, она в этом как-раз хороша
 
Последнее редактирование:

Vano

Новичок
:) это был сарказм. переход и освоение другой субд у тебя займент на порядок больше времени, чем решение этой проблемы в mysql
Та дааа) этот проект понятно на мускуле будет - доделаю сейчас. Дело в том, что я подумал что Mysql типа не очень хорошая субд. Это не правда? Просто хочу хорошенько выучить язык, настройки и возможности одной расово-верной субд) чтобы иметь что-нибудь за плечами при поиске работы.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
если "одной расово-верной" - то оракл! :) в web-проектах он используется крайне редко, но это самая расово-верная субд
 
Последнее редактирование:
Сверху