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

Může spouštěč MySQL simulovat omezení CHECK?

když aktualizujete data:

delimiter $$
create trigger chk_stats1 before update on stats 
  for each row 
   begin  
    if  new.month>12 then
        SIGNAL SQLSTATE '45000'   
        SET MESSAGE_TEXT = 'Cannot add or update row: only';
      end if; 
      end; 
      $$

když vkládáte data:

   delimiter $$
    create trigger chk_stats before insert on stats 
      for each row 
       begin  
      if  new.month>12 then
       SIGNAL SQLSTATE '45000'   
       SET MESSAGE_TEXT = 'Cannot add or update row: only';
       end if; 
    end; 
    $$

tyto spouštěče budou fungovat jako kontrolní omezení, fungovat před vložením nebo aktualizací a zkontrolovat měsíc, pokud měsíc>12 dává chybu.



  1. Vygenerujte SQL pro aktualizaci primárního klíče

  2. Oracle:záleží na pořadí sloupců v indexu?

  3. SQLAlchemy nebo psycopg2?

  4. Jak rozlišovat malá a velká písmena GROUP BY?