sql >> Database teknologi >  >> RDS >> Mysql

Konstant kolonneværdi i MySQL-tabel

Så her kan du finde en vej rundt gennem MYSQL TRIGGER .

Eksempeltabel:

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;

Trigger:

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);

Resultat:

Den første indsættelseserklæring vil lykkes.

Den anden insert-sætning mislykkes. Og følgende fejlmeddelelse vil blive vist:

Bemærk: Forudsat din CONSTANT værdien er 71 .



  1. Hvad er nyt i MariaDB Cluster 10.4

  2. Top Facebook-grupper til Analytics, Big Data, Data Mining, Hadoop, NoSQL, Data Science

  3. Jquery autocomplete og PHP:udfylder inputfelt med data fra mySQL database baseret på valgt mulighed i autocomplete felt

  4. Hvordan sammenligner jeg input til mysql-data med php/sql?