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

Konstantní hodnota sloupce v tabulce MySQL

Zde tedy můžete najít cestu přes MYSQL TRIGGER .

Ukázková tabulka:

DROP TABLE IF EXISTS `constantvaluetable`;
CREATE TABLE `constantvaluetable` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `constValue` int(11) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB;

Spouštěč:

DROP TRIGGER IF EXISTS trigger_const_check;
delimiter //
CREATE TRIGGER trigger_const_check BEFORE INSERT ON constantvaluetable 
    FOR EACH ROW 
  BEGIN 
        IF NEW.constValue <> 71 THEN 
        SIGNAL SQLSTATE '45000' SET message_text ='Only allowed value is 71';
        END IF; 
  END //
delimiter ;

Test:

INSERT INTO constantvaluetable(constValue) VALUES(71);

INSERT INTO constantvaluetable(constValue) VALUES(66);

Výsledek:

První příkaz vložení bude úspěšný.

Druhý příkaz vložení se nezdaří. A zobrazí se následující chybová zpráva:

Poznámka: Za předpokladu, že vaše KONSTANTNÍ hodnota je 71 .



  1. Proč se naše dotazy zasekávají na stavu Zápis do sítě v MySql?

  2. Jak vytvořit vypočítaný sloupec v SQLite

  3. Jak exportovat databázi pomocí příkazového řádku

  4. Představujeme přehrávání – nová diagnostika bodu v čase pro Spotlight Cloud