Mysql
 sql >> база данни >  >> RDS >> Mysql

Искате да ограничите стойността на поле на MySQL до конкретен диапазон (десетични стойности)

Можете да симулирате ограничение за проверка в MySQL, като използвате тригери.

Например, ако искате да принудите всички стойности, по-големи от 1,00, да се съхраняват като 1,00, можете да го направите с 2 тригера като това:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. схема на база данни за атрибути на продукти

  2. SQL заявка за преброяване в група с определено условие

  3. MySQL Cast като Boolean

  4. MySQL:избиране на редове, където колона е нула

  5. laravel 4 - как да ограничите (вземете и пропуснете) за Eloquent ORM?