Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Sie möchten den Wert eines MySQL-Felds auf einen bestimmten Bereich beschränken (Dezimalwerte)

Sie können eine Check-Einschränkung in MySQL mithilfe von Triggern simulieren.

Wenn Sie beispielsweise erzwingen möchten, dass alle Werte größer als 1,00 als 1,00 gespeichert werden, können Sie dies mit 2 Triggern wie diesem tun:

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 ;