@mr_creo

Как дернуть триггер?

Есть таблица в которой одна из колонок определена как уникальная. При вставке дублирующего значения надо отловить первичный ключь и закинуть в лог таблицу. Думаю надо вызвать триггер, функцию или процедуру. Пытался делать вставку через INSERT INTO ... ON DUPLICATION KEY UPDATE `id` = `id` на таблицу повесил триггер AFTER UPDATE но при обновлении ид самого на себя похоже обновление режется при оптимизации и вовсе не выполняется, поэтому и триггер не срабатывает.
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Либо BEFORE UPDATE, но в триггере придётся проверять уникальность добавляемого значения.
Либо добавить ещё одну колонку, например, `errors` и делать ON DUPLICATE KEY UPDATE `errors` = `errors`+1. Тогда в триггере AFTER UPDATE можно просто проверить на OLD.`errors` != NEW.`errors`.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы