首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL 从 8.0.16 版本开始支持 CHECK 约束功能。

MySQL 从 8.0.16 版本开始支持 CHECK 约束功能。

原创
作者头像
贺春旸的技术博客
发布于 2024-08-02 14:37:49
发布于 2024-08-02 14:37:49
8590
举报
文章被收录于专栏:DBA 平台和工具DBA 平台和工具

MySQL 从 8.0.16 版本开始支持 CHECK 约束功能。接下来,我通过一个案例来演示这一点。

https://dev.mysql.com/doc/refman/8.0/en/create-table-check-constraints.html

我们创建一个名为 scores 的表,表中的 CHECK 约束确保 score 字段的值不能为 0。如果尝试插入值为 0 的记录,MySQL 将会抛出错误。

表结构如下:

代码语言:sql
复制
CREATE TABLE scores (
    id INT AUTO_INCREMENT PRIMARY KEY,
    student_name VARCHAR(100) NOT NULL,
    score DECIMAL(5,2) NOT NULL,
    CONSTRAINT check_score_not_zero CHECK (score != 0)
);

以下 SQL 语句会成功执行:

代码语言:sql
复制
INSERT INTO scores (student_name, score) VALUES ('张三', 80.5);

而以下 SQL 语句会因 score 值为 0 而失败:

代码语言:sql
复制
INSERT INTO scores (student_name, score) VALUES ('李四', 0);
check 约束
check 约束

这样,CHECK 约束可以有效地确保表中数据的完整性和正确性。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档