sql >> Databáze >  >> RDS >> Mysql

Chránit sloupec, zakázat aktualizaci, povolit vložení pouze v případě NULL v MySQL

Ano, v MySQL jsou spouštěče jediným způsobem, jak toho dosáhnout. MySQL nepodporuje omezení.

Váš spouštěč není úplně správný. Nejprve musíte update on date , ale mělo by to být update on <table name> . Za druhé, kontrolujete hodnotu data použitou pro aktualizaci . Možná máte na mysli:

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;

insert spouštění za této podmínky nedává smysl.



  1. SQL Server List Tables:Jak zobrazit všechny tabulky

  2. mysql:Získejte poslední záznamy konverzace podle uživatele

  3. Zástupné znaky v Java PreparedStatements

  4. Jak vytvořit uživatele s PSQL