Ja, in MySQL zijn triggers de enige manier om dit te doen. MySQL ondersteunt geen beperkingen.
Je trigger is niet helemaal goed. Ten eerste heb je update on date
, maar dit zou update on <table name>
moeten zijn . Ten tweede controleert u de datumwaarde die wordt gebruikt voor de update . Bedoel je misschien:
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;
Een insert
trigger op deze voorwaarde heeft geen zin.