时间:2021-07-01 10:21:17 帮助过:47人阅读
在MySQL中,提供了CHECK检查约束用来指定某列的可取值的范围,它通过限制输入到列中的值来强制域的完整性。但是目前的MySQL版本只是对CHECK约束进行了分析处理,但会被直接忽略,并不会报错。
MySQL 检查约束(CHECK)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现,根据用户实际的完整性要求来定义。它可以分别对列或表实施 CHECK 约束。
在创建表时设置检查约束
基本语法:
CHECK(<检查约束>)
示例:在 test_db 数据库中创建 tb_emp7 数据表,要求 salary 字段值大于 0 且小于 10000
mysql> CREATE TABLE tb_emp7 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(25), -> deptId INT(11), -> salary FLOAT, -> CHECK(salary>0 AND salary<100), -> FOREIGN KEY(deptId) REFERENCES tb_dept1(id) -> ); Query OK, 0 rows affected (0.37 sec)
在修改表时添加检查约束
基本语法:
ALTER TABLE tb_emp7 ADD CONSTRAINT <检查约束名> CHECK(<检查约束>)
示例:修改 tb_dept 数据表,要求 id 字段值大于 0
mysql> ALTER TABLE tb_emp7 -> ADD CONSTRAINT check_id -> CHECK(id>0); Query OK, 0 rows affected (0.19 sec) Records: 0 Duplicates: 0 Warnings: 0
删除检查约束
基本语法:
ALTER TABLE <数据表名> DROP CONSTRAINT <检查约束名>;
以上就是mysql检查约束有什么用的详细内容,更多请关注Gxl网其它相关文章!