В процессе очистки этого ответа я немного узнал о TRIGGER
и хранимых процедурах в MySQL, но был ошеломлен тем, что в то время как BEFORE INSERT
и BEFORE UPDATE
триггеры могут изменять данные, они, по-видимому, не могут привести к сбою вставки/обновления (т.е. валидации). В этом конкретном случае я смог заставить это работать, манипулируя данными таким образом, чтобы вызвать дубликат первичного ключа, который в данном конкретном случае имеет смысл, но не обязательно имеет смысл в общем смысле.
Возможно ли такая функция в MySQL? В любой другой СУБД (мой опыт ограничен MySQL с грустью)? Возможно, синтаксис стиля THROW EXCEPTION
?