本文主要给大家简单讲讲怎么写好mysql检查约束,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望怎么写好mysql检查约束这篇文章可以给大家带来一些实际帮助又是;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
检查约束使用检查关键字,具体的语法格式如下:
<>之前检查& lt;表达式祝辞其中:& lt;表达式祝辞指的就是SQL表达式,用于指定需要检查的限定条件。
若将检查约束子句置于表中某个列的定义之后,则这种约束也称为基于列的检查约束。
在更新表数据的时候,系统会检查更新后的数据行是否满足检查约束中的限定条件.MySQL可以使用简单的表达式来实现检查约束,也允许使用复杂的表达式作为限定条件,例如在限定条件中加入子查询。
注意:若将检查约束子句置于所有列的定义以及主键约束和外键定义之后,则这种约束也称为基于表的检查约束。该约束可以同时对表中多个列设置限定条件。
在创建表时设置检查约束
创建表时设置检查约束的语法规则如下:
<>前检查(& lt;检查约束祝辞)在test_db数据库中创建tb_emp7数据表,要求工资字段值大于0且小于10000,输入的SQL语句和运行结果如下所示。
mysql>创建表tb_emp7 →( →INT id(11)主键, →名字VARCHAR (25), →deptId INT (11), →工资浮动, →检查(salary> 0和salary<100), →外键(deptId)引用tb_dept1 (id) →); 查询好,0行影响(0.37秒)
在修改表时添加检查约束
修改表时设置检查约束的语法规则如下:
ALTER TABLE tb_emp7添加约束& lt;检查约束名比;检查(& lt;检查约束祝辞)
修改tb_dept数据表,要求id字段值大于0,输入的SQL语句和运行结果如下所示。
mysql>ALTER TABLE tb_emp7 →添加约束check_id →检查(id> 0); 查询好,0行影响(0.19秒) 记录:0副本:0警告:0
解决方法:使用触发器实现检查检查约束的功能。
(1)创建tb_student(学生信息表)。
——创建学生信息表 创建表tb_student ( id INT AUTO_INCREMENT主键, 名字VARCHAR (30), 年龄INT不是零 );
(2)创建检查年龄(年龄)字段是否有效的触发器。
——创建触发器 创建触发器trg_tb_student_insert_check之前插入 在tb_student为每一行 开始 声明味精varchar (100); 如果新。年龄& lt;=0或新。年龄在=100 然后 设置味精=CONCAT(& # 39;您输入的年龄值:& # 39;,NEW.age, & # 39;为无效的年龄,请输入0到100以内的有效数字# 39;公司); 信号SQLSTATE & # 39; HY000& # 39;设置MESSAGE_TEXT=味精; 如果; 结束;
(3)编写测试语句。
<>之前插入tb_student(姓名、年龄)值(& # 39;凯文# 39;,120年),怎么写好mysql检查约束就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。