Задавайте вопросы, мы ответим
Вы не зашли.
Ребята, привет всем!
Есть вопрос, не смог найти ответа на него в документации Mysql.
Необходимо: проверить данные перед вводом (insert, update, пр.) и в случае неверных данных отменить команду или вернуть какой-то идентификатор (или строку) об ошибке.
Я был уверен, что это можно сделать с помощью триггеров, но не могу найти как...
Я видел только примеры как записать что-то в другую таблицу в триггере (вести лог), сделать другие вставки и пр. стандартные операции MySQL.
---
Мдя, похоже этого пока нет: How to throw/raise and error/exception
Отредактированно FiMko (26.03.2010 15:39:05)
Неактивен
Да, к сожалению, нужно генерировать какую-то ошибку. Впрочем, она может быть
полуинформативной типа INSERT INTO error_vy_vveli_erundu_v_pole VALUES (1);
Неактивен
Я пока читаю доки, но, видимо, буду делать логику проверок через хранимые процедуры/функции и вот еще интересная вещь: DECLARE for Handlers, а также LEAVE для прерывания выполнения процедуры и, соответственно, RETURN для прерывания работы функции.
Отредактированно FiMko (04.04.2010 18:19:46)
Неактивен
Да. LEAVE для выхода из процедуры - это интересное наблюдение, спасибо.
Неактивен