Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Spalte schützen, Aktualisierung verbieten, Einfügen nur zulassen, wenn NULL in MySQL

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.