Ja, in MySQL sind Trigger die einzige Möglichkeit, dies zu tun. MySQL unterstützt keine Beschränkungen.
Dein Trigger ist nicht ganz richtig. Zuerst haben Sie update on date
, aber das sollte update on <table name>
sein . Zweitens überprüfen Sie den Datumswert, der für die Aktualisierung verwendet wird . Vielleicht meinst du:
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;
Ein insert
Trigger auf diese Bedingung macht keinen Sinn.