mysql检查约束怎么设置
mysql的常用engine是InnoDB,在该引擎下使用check约束是无效的。但是可以通过使用触发器来做到检查约束的效果。下面就以一个例子来介绍如何通过使用触发器使mysql具有检查约束的功能。
操作方法
- 01
先打开PowerShell或者cmd进入mysql的bin目录,然后输入账号密码登录进入mysql。
- 02
接下来创建数据库 checkAnalog,并使用该数据库。
- 03
然后创建表usr,表结构如图。
- 04
先往usr表中插入一条数据,未创建触发器时,phone="123456"能正常插入。
- 05
为usr表创建插入数据前触发的触发器 trig_before_insert,该触发器用于检查是否插入正确的手机号,若插入的手机号不正确,则通过signal抛出异常。具体内容如图。注意在输入创建触发器代码前,要用delimiter限定结束标志符。
- 06
创建好触发器后,向usr表插入一条正确的数据。插入成功后查看表数据。如图。
- 07
接着测试输入不正确的数据,如图可以看到当输入不正确的数据时会抛出异常提示 “手机号须为11位数字”。查看表数据,两条记录都没插入进去。
- 08
这样就成功使用触发器来做到插入前的检查约束了。
赞 (0)