Mysql
 sql >> база данни >  >> RDS >> Mysql

Защитете колоната, забранете актуализацията, разрешите вмъкване само ако е NULL в MySQL

Да, в MySQL тригерите са единственият начин да направите това. MySQL не поддържа ограничения.

Вашият спусък не е точно правилен. Първо, имате update on date , но това трябва да е update on <table name> . Второ, вие проверявате стойността на датата, използвана за актуализация . Може би имате предвид:

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 задействането при това условие няма смисъл.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CodeIgniter:Не може да се свърже с вашия сървър на база данни чрез предоставените настройки Съобщение за грешка

  2. Как да увеличите стойността в MySQL с PHP mysqli

  3. Как да импортирам CSV файл в MySQL таблица?

  4. Свържете се с MySQL с JDBC през мрежа

  5. MySQL хост '::1' или '127.0.0.1' не е разрешен да се свързва с този MySQL сървър