Mysql 如何使int列的值必须大于x?
嗯,基本上是标题 我需要用很少的列创建新表(这很容易),但其中一个表需要确保输入的值大于21(这很难)。我该怎么做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`)); 设置一个触发器来触发。实际上有两个:一个用于插入,另
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