sql >> Database >  >> RDS >> Mysql

Wilt u de waarde van een MySQL-veld beperken tot een specifiek bereik (decimale waarden)

U kunt een controlebeperking in MySQL simuleren met behulp van triggers.

Als u bijvoorbeeld wilt dat alle waarden groter dan 1,00 worden opgeslagen als 1,00, kunt u dit doen met 2 triggers zoals deze:

DELIMITER $$

DROP TRIGGER IF EXISTS tr_b_ins_relationships $$

CREATE TRIGGER tr_b_ins_relationships BEFORE INSERT ON relationships FOR EACH ROW BEGIN
  IF new.relationship_level > 1
  THEN
    SET new.relationship_level = 1;
  END IF;
END $$

DELIMITER ;


DELIMITER $$

DROP TRIGGER IF EXISTS tr_b_upd_relationships $$

CREATE TRIGGER tr_b_upd_relationships BEFORE UPDATE ON relationships FOR EACH ROW BEGIN
  IF new.relationship_level > 1
  THEN
    SET new.relationship_level = 1;
  END IF;
END $$

DELIMITER ;


  1. Object van klasse Database kon niet worden geconverteerd naar string

  2. Hoe CONCAT_WS() werkt in PostgreSQL

  3. verwijder dubbele rijen op basis van één kolomwaarde

  4. Hoe Access 2019 ScreenTips te gebruiken