sql >> Database teknologi >  >> RDS >> Mysql

Beskyt kolonne, tillad opdatering, tillad kun indsættelse, hvis NULL i MySQL

Ja, i MySQL er triggere den eneste måde at gøre dette på. MySQL understøtter ikke begrænsninger.

Din trigger er ikke helt rigtig. Først har du opdatering på dato , men dette skal være opdatering på . For det andet kontrollerer du den datoværdi, der bruges til opdateringen . Måske mener 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;

En insert trigger på denne tilstand giver ikke mening.



  1. Vil du oprette forbindelse til Docker MySQL-container fra localhost?

  2. MySQL:Indsæt i flere tabeller i samme forespørgsel med BEGIN&COMMIT

  3. Adgang til klassemodul og indpakningsklasser

  4. FEJL 1049 (42000):Ukendt database 'mitdatabasenavn'