mysql 创建表check如何使用_MySQL怎么使用check约束

在数据库中,CHECK 约束是指约束表中某一个或者某些列中可接受的数据值或者数据格式(用于限制列中的值的范围)。

5cd11e1e00407899.jpg

在一些情况下,我们需要字段在指定范围的输入,

例如:性别只能输入 '男'或者'女',余额只能大于0等条件,

例如:可以要求 authors 表的 postcode 列只允许输入六位数字的邮政编码。

我们除了在程序上控制以外,我们还能使用 CHECK 约束 来规范数据。

然而:

mysql所有的存储引擎均不支持check约束,MySQL会对check子句进行分析,但是在插入数据时会忽略,因此check并不起作用,因此实现对数据约束有两种方法:

1.在mysql种约束,如使用enum类型或者触发器等。

2.在应用程序里面对数据进行检查再插入。

使用 ENUM 限制插入的值,但是这种方式只能用于离散型数据,对于范围数据则无能为力-- 创建一张测试表,规定sex字段只能是 ‘男’ 或者 ‘女’

CREATE TABLE `user` (

`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

`name` VARCHAR(18) COLLATE utf8_estonian_ci NOT NULL,

`sex` ENUM('男','女') COLLATE utf8_estonian_ci DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci

测试:

INSERT INTO `user`(`name`,`sex`) VALUES('秀吉','秀吉');

结果:

错误代码: 1265

Data truncated for column 'sex' at row 1

如果我们需要限制范围内数据,例如:余额只能大于100这样的条件,我们可以使用触发器来实现。DELIMITER $$

CREATE

TRIGGER `test`.`remaining_BeforeInsert` BEFORE INSERT ON `test`.`user`

FOR EACH ROW BEGIN

IF `user`.`remaining` < 100 THEN

SET `user`.`remaining` = 100;

END IF;

END$$

DELIMITER ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514201.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020年,这个算法团队都干了啥?

简介&#xff1a; 什么是算法&#xff1f;什么是广告算法工程师&#xff1f;算法工程师又是如何定义的&#xff1f;今天作者将就算法、电商算法为主题和我们分享他的理解&#xff0c;同时还将和我们分享ICBU算法团队的整体工作和2020年的一些重要技术突破。 写在最前 我个人有…

为了让你在“口袋奇兵”聊遍全球,Serverless 做了什么?

简介&#xff1a; 江娱互动是一家新兴的游戏企业&#xff0c;自 2018 年成立伊始&#xff0c;江娱互动就面向广阔的全球游戏市场&#xff0c;通过创造有趣的游戏体验&#xff0c;在竞争激烈的游戏市场占得一席之地。仅仅 2 年的时间&#xff0c;江娱互动就凭借 Topwar&#xff…

mysql批量插入 增加参数_MySql 的批量操作,要加rewriteBatchedStatements参数

MySql 的批量操作&#xff0c;要加rewriteBatchedStatements参数作者&#xff1a;赵磊博客&#xff1a;http://elf8848.iteye.com--------------------------------结论 ---------------------------------MySql 非批量 10万条记录&#xff0c; 5700条/秒MyS…

为开发者而生 | 2021 SuperMap开发者大会议程全公布

如果地理信息产业是一片江湖 SuperMap开发者大会 则是一场卧虎藏龙的群英会 技术卓越的大侠们在此一展风采 精通各路应用的绝世门派在此切磋技艺 一起修炼顶级武功秘籍 致敬技术极客精神 为开发者而生&#xff08;D4D&#xff09; 9月15日-18日 2021 SuperMap开发者大会…

Flink 如何实时分析 Iceberg 数据湖的 CDC 数据

简介&#xff1a; 数据湖的架构中&#xff0c;CDC 数据实时读写的方案和原理 本文由李劲松、胡争分享&#xff0c;社区志愿者杨伟海、李培殿整理。主要介绍在数据湖的架构中&#xff0c;CDC 数据实时读写的方案和原理。文章主要分为 4 个部分内容&#xff1a; 常见的 CDC 分析…

mysql 加载数据校验_mysql 导入数据后的校验程序

参考mysql导入样本数据库employees之后的数据校验&#xff0c;可以使用md5或者sha&#xff0c;原理与思路&#xff1a;首先在将要备份的数据库中生成每个表里的每行每列数据的累加计算md5值&#xff0c;接着hardcode在测试单元文件中&#xff0c;作为期望值。以下是md5的校验方…

如何通过事务消息保障抢购业务的分布式一致性?

简介&#xff1a; 在柔性事务的多种实现中&#xff0c;事务消息是最为优雅易用的一种。基于阿里云RocketMQ高性能、高可用的特点&#xff0c;完全可以胜任抢购业务这类高并发大流量的场景。但引入事务消息机制在实现高性能的同时&#xff0c;也增加了整体的业务复杂度。我们需要…

海量秋招面试资料等你来拿!你离大厂也许并不远

秋招在即&#xff0c;你还在为秋招如何准备而发愁吗&#xff1f;你还在为拿不到大厂offer而苦恼吗&#xff1f;工欲善其事&#xff0c;必先利其器。金秋开学季&#xff0c;CSDN助力你的技术学习与成长&#xff0c;为你免费提供海量大厂面试资料&#xff0c;让你的秋招不再慌乱&…

基于Ganos百行代码实现亿级矢量空间数据在线可视化

简介&#xff1a; 本文介绍如何使用RDS PG或PolarDB&#xff08;兼容PG版或Oracle版&#xff09;的Ganos时空引擎提供的数据库快显技术&#xff0c;仅用百行代码实现亿级海量几何空间数据的在线快速显示和流畅地图交互&#xff0c;且无需关注切片存储和效率问题。 01 引言 如何…

流批一体生产应用!Bigo 实时计算平台建设实践

简介&#xff1a; 本文由 Bigo 计算平台负责人徐帅分享&#xff0c;主要介绍 Bigo 实时计算平台建设实践的介绍 本文由 Bigo 计算平台负责人徐帅分享&#xff0c;主要介绍 Bigo 实时计算平台建设实践的介绍。内容包括&#xff1a; Bigo 实时计算平台的发展历程特色与改进业务场…

一部手机是否能用 7 年?苹果、三星、Google:三年差不多!

整理 | 苏宓出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;一部手机如果可以流畅地使用 7 年&#xff0c;是种什么样的感觉&#xff1a;有人说&#xff0c;这对于 iPhone 而言&#xff0c;或许会很轻松做到&#xff0c;但也会给一些平价的 Android 手机制造商带来…

五福背后的 Web 3D 引擎 Oasis Engine 正式开源

简介&#xff1a; Oasis 从开源走向新的起点&#xff0c;用 3D 化的交互和表达让世界变得更美好。 相信大家已经体验了今年支付宝五福的活动&#xff0c;无论是今年的五福首页还是打年兽游戏都是由蚂蚁互动图形引擎&#xff08;代号&#xff1a;Oasis Engine&#xff09;驱动的…

我用 Python 自制成语接龙小游戏,刺激!

作者&#xff1a;小小明原文链接&#xff1a;https://blog.csdn.net/as604049322/article/details/118154687本文为读者投稿在 https://github.com/pwxcoo/chinese-xinhua 项目中可以下载到中华成语的语料库&#xff0c;该项目收录包括 14032 条歇后语&#xff0c;16142 个汉字…

基于SLS构建RDS审计合规监控

简介&#xff1a; 数据库是企业业务的数据核心&#xff0c;其安全方面的问题在传统环境中已经成为泄漏和被篡改的重要根源。因此&#xff0c;对数据库的操作行为尤其是全量 SQL 执行记录的审计日志&#xff0c;就显得尤为重要。 背景 数据库是企业业务的数据核心&#xff0c;其…

云效DevOps实践-如何基于云效实现测试自动化集成和分析

简介&#xff1a; 对于现代软件研发来说&#xff0c;持续、快速、高质量、低风险地交付需求特性&#xff0c;是业务对研发的主要诉求。而要做到这一点&#xff0c;除了要有良好的架构设计、卓越的工程能力&#xff0c;快速可靠的测试反馈也是其非常重要的一环&#xff0c;达到这…

spring 使用其他类protected方法_Java操作bean、属性、方法的使用工具类

在实际的项目开发中&#xff0c;反射操作类的实例、属性赋值、执行方法是常规的操作&#xff0c;虽然spring提供了比较完整的API来执行上述操作&#xff0c;不过在实际的应用中&#xff0c;spring的函数隐藏比较深&#xff0c;比较分散&#xff0c;小伙伴们可能懒得花时间去寻找…

2021年阿里云采购季大促主会场全攻略

在疫情的影响下&#xff0c;企业都在谋求各种转机&#xff0c;探寻各种转型之路&#xff0c;为助力企业复工复产低成本上云&#xff0c;日前阿里云开年采购季优惠活动于3月1日正式开启。 从主会场页面来看&#xff0c;活动分为三个阶段&#xff1a; 3月1日-3月16日&#xff1a…

应云而生,幽灵的威胁 - 云原生应用交付与运维的思考

简介&#xff1a; 过去的 2020 是充满不确定性的一年&#xff0c;但也是充满机遇的一年。突发的新冠疫情为全社会的数字化转型按下加速键。云计算已经不再是一种技术&#xff0c;而是成为支撑数字经济发展和业务创新的关键基础设施。在利用云计算重塑企业 IT 的过程中&#xff…

技术干货 | mPaaS 小程序高玩带你起飞:客户端预置小程序无视网络质量

简介&#xff1a; 弱网拉包无障碍&#xff0c;深度提升用户体验 传统的小程序技术容易受到网络环境影响&#xff0c;当网络质量不佳时可能导致拉取不到小程序包的情况。通过预置小程序&#xff0c;即可规避该问题。本文介绍了预置小程序的原理和预置小程序的实现过程。 什么是预…

Delta Lake在Soul的应用实践

简介&#xff1a; 传统离线数仓模式下&#xff0c;日志入库前首要阶段便是ETL&#xff0c;我们面临如下问题&#xff1a;天级ETL任务耗时久&#xff0c;影响下游依赖的产出时间&#xff1b;凌晨占用资源庞大&#xff0c;任务高峰期抢占大量集群资源&#xff1b;ETL任务稳定性不…