UPDATE все еще выполняется, если триггер BEFORE создает ошибку?
Если нет, есть ли способ отменить ОБНОВЛЕНИЕ из триггера?
1 ответ
Решение
РЕДАКТИРОВАТЬ: Если триггер BEFORE не работает, то ОБНОВЛЕНИЕ отменяется.
Мой предыдущий глупый ответ имел в виду ПОСЛЕ триггеров. здесь это на всякий случай, если кому-то все еще это нужно: в случае триггера ПОСЛЕ, тогда ОБНОВЛЕНИЕ не отменяется при сбое триггера. Для "отмены" ОБНОВЛЕНИЯ необходимо использовать транзакции, а затем ОТКРЫТЬ транзакцию в случае ошибки или зафиксировать транзакцию в случае успеха. больше информации о транзакциях в MySQL можно найти по адресу: http://dev.mysql.com/doc/refman/5.0/en/commit.html