Ja, i MySQL är triggers det enda sättet att göra detta. MySQL stöder inte begränsningar.
Din trigger är inte helt rätt. Först har du uppdatering på datum
, men detta bör vara uppdatering på
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;
En insert
trigger på detta tillstånd är inte vettigt.