1. 首页
  2. 数据库
  3. MySQL
  4. MySQL 8.0 新特性之检查约束的实现

MySQL 8.0 新特性之检查约束的实现

上传者: 2021-06-07 05:35:36上传 PDF文件 119.61 KB 热度 12次

SQL 中的检查约束属于完整性约束的一种,可以用于约束表中的某个字段或者一些字段必须满足某个条件。我们常见的数据库都实现了检查约束,例如 Oracle、SQL Server、PostgreSQL 以及 SQLite;然而 MySQL 一直以来没有真正实现该功能,直到最新的 MySQL 8.0.16。MySQL 8.0.15 之前在 MySQL 8.0.15 以及之前的版本中,虽然 CREATE TABLE 语句允许CHECK 形式的检查约束语法,但实际上解析之后会忽略该子句。例如虽然我们在定义时指定了各种 CHECK 选项,但最终的表结构中不包含任何检查约束。MySQL 8.0.16 之后MySQL 8.0.16 于 2019 年 4 月 25 日发布,终于带来了我们期待已久的 CHECK 约束功能,而且对于所有的存储引擎都有效。约束名称最大长度为 64 个字符,而且区分大小写。如果表达式的结果为 FALSE,将会违反约束。可选的 ENFORCED 子句用于指定是否强制该约束:

用户评论