check 约束无效

mysql check 约束无效

  • 在MYSQL中,CHECK只是一段可调用但无意义的子句。MySQL会直接忽略。
  • 接受这些子句但又忽略子句的原因是为了提高兼容性,以便更容易地从其它SQL服务器中导入代码,并运行应用程序,创建带参考数据的表。
  • 如果需要设置CHECK约束的字段,比较容易列举全部的值,就可以考虑将该字段的类型设置为枚举类型 enum()或集合类型set()。比如性别字段可以这样设置,可以插入枚举值方式。

CREATE TABLE person( id INT null, sex enum('男','女') );

此时输入信息:

INSERT INTO person VALUES (14,'男');

在这成功里插入图片描述
如果输入不符合要求信息则报错:

INSERT INTO person VALUES (15,'中');

在这里插入图片描述

  • 如果需要设置CHECK约束的字段是区间,列举全部值比较困难,比如:1-100之间的值,那就只能使用触发器来代替约束实现数据的有效性了。

新手,如有疑问请留言,勿喷谢谢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值