Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Chroń kolumnę, nie zezwalaj na aktualizację, zezwalaj tylko na wstawianie, jeśli NULL w MySQL

Tak, w MySQL wyzwalacze to jedyny sposób, aby to zrobić. MySQL nie obsługuje ograniczeń.

Twój spust nie jest do końca właściwy. Najpierw masz update on date , ale powinna to być aktualizacja update on <table name> . Po drugie, sprawdzasz wartość daty użytą do aktualizacji . Być może masz na myśli:

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 wyzwalacz w tym warunku nie ma sensu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyświetlić listę wierszy dla zapytania lub wyświetlić „brak rekordów” za pomocą jednego zapytania?

  2. Jak działa funkcja INSTR() w MySQL

  3. Jak utworzyć wyzwalacz do usuwania php myadmin

  4. Synchronizuj schemat MySQL między komputerami

  5. Przenoszenie i tworzenie kopii zapasowych dużej bazy danych MySQL