Mysql 如何使int列的值必须大于x?

Mysql 如何使int列的值必须大于x?,mysql,Mysql,嗯,基本上是标题 我需要用很少的列创建新表(这很容易),但其中一个表需要确保输入的值大于21(这很难)。我该怎么做 CREATE TABLE myBD.myTable (`name` VARCHAR(90), `age` INT --here I need to make sure it's above 21>, PRIMARY KEY (`name`)); 设置一个触发器来触发。实际上有两个:一个用于插入,另

嗯,基本上是标题

我需要用很少的列创建新表(这很容易),但其中一个表需要确保输入的值大于21(这很难)。我该怎么做

CREATE TABLE myBD.myTable
        (`name` VARCHAR(90),
        `age` INT                --here I need to make sure it's above 21>,
        PRIMARY KEY (`name`));
设置一个触发器来触发。实际上有两个:一个用于插入,另一个用于更新

例如:

DELIMITER $$

CREATE TRIGGER insert_check_greater_than_21
     BEFORE INSERT ON tableName FOR EACH ROW
     BEGIN
          IF NEW.fieldName <= 21
          THEN
               SIGNAL SQLSTATE '45000'
                    SET MESSAGE_TEXT = 'fieldName must be greater than 21';
          END IF;
     END;
$$

CREATE TRIGGER update_check_greater_than_21
     BEFORE UPDATE ON tableName FOR EACH ROW
     BEGIN
          IF NEW.fieldName <= 21
          THEN
               SIGNAL SQLSTATE '45000'
                    SET MESSAGE_TEXT = 'fieldName must be greater than 21';
          END IF;
     END;
$$
分隔符$$
创建触发器插入\u检查\u大于\u 21
在为每行插入tableName之前
开始
如果为NEW.fieldName