mysql check约束只能输入1到8怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql check约束只能输入1到8怎么写?相关的知识,希望对你有一定的参考价值。

mysql目前还不支持检查约束。如果你要是输入1-8之间的数字,可以把这个字段类型设置为enum类型,例如:
status enum(1,2,3,4,5,6,7,8)
这个status字段在插入数据的时候就只能插入1,2,3,4,5,6,7,8中的某一个。除此之外的数据将不能被正确插入。
参考技术A 可以写个insert触发器,当输入不在1到8这个范围则删除刚插入的这样数据,将以下的表的名字和字段名字修改成你实际的即可:

DELIMITER $$
CREATE TRIGGER tgInsert1
BEFORE INSERT
ON 表的名字 FOR EACH ROW
BEGIN
IF (NEW.字段名字 < 0 OR NEW.字段名字>8) THEN
DELETE FROM 表的名字 WHERE 字段名字 = NEW.字段名字;
END IF;
END$$
DELIMITER ;

mysql启动和关闭外键约束的方法

关闭外键约束,输入命令:SET FOREIGN_KEY_CHECKS=0;

启动外键约束,输入命令:SET FOREIGN_KEY_CHECKS=1;

查看当前是否有外键约束:SELECT  @@FOREIGN_KEY_CHECKS;

以上是关于mysql check约束只能输入1到8怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置 SQL 中一个属性check约束值只能是0或者1

要SQL Server 中约束字段LoginName 只能为英文字符,check 语句怎么写?哪位高手指点一下,

ORACLE里的CHECK约束。。

MySQL 8.0有趣的新特性:CHECK约束

check约束叫啥约束?

SQL中CHECK约束怎么建?