Задать вопрос
@mr_creo

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

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

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

Похожие вопросы