Ano, v MySQL jsou spouštěče jediným způsobem, jak toho dosáhnout. MySQL nepodporuje omezení.
Váš spouštěč není úplně správný. Nejprve musíte update on date
, ale mělo by to být update on <table name>
. Za druhé, kontrolujete hodnotu data použitou pro aktualizaci . Možná máte na mysli:
create trigger date_check_update
before update on <the table name goes here>
for each row
begin
if (old.date IS NOT NULL) then
SIGNAL 'date already set'
end if ;
end;
insert
spouštění za této podmínky nedává smysl.