位置: 编程技术 - 正文

在MySQL中创建实现自增的序列(Sequence)的教程(在mysql中创建数据库和表作业)

编辑:rootadmin

推荐整理分享在MySQL中创建实现自增的序列(Sequence)的教程(在mysql中创建数据库和表作业),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql语句创建,如何在mysql创建实例,实验训练1在mysql中创建数据库和表,mysql语句创建,mysql语句创建,如何在mysql创建实例,实验训练1在mysql中创建数据库和表,在mysql中创建数据表,内容如对您有帮助,希望把文章链接给更多的朋友!

项目应用中,曾有以下一个场景:接口中要求发送一个int类型的流水号,由于多线程模式,如果用时间戳,可能会有重复的情况(当然概率很小)。所以想到了利用一个独立的自增的sequence来解决该问题。当前数据库为:mysql由于mysql和oracle不太一样,不支持直接的sequence,所以需要创建一张table来模拟sequence的功能,理由sql语句如下:第一步:创建--Sequence 管理表

第二步:创建--取当前值的函数

第三步:创建--取下一个值的函数

第四步:创建--更新当前值的函数

第五步:测试函数功能当上述四步完成后,可以用以下数据设置需要创建的sequence名称以及设置初始值和获取当前值和下一个值。

INSERT INTO sequence VALUES ('TestSeq', 0, 1);----添加一个sequence名称和初始值,以及自增幅度 SELECT SETVAL('TestSeq', );---设置指定sequence的初始值 SELECT CURRVAL('TestSeq');--查询指定sequence的当前值 SELECT NEXTVAL('TestSeq');--查询指定sequence的下一个值

在java代码中,可直接创建sql语句查询下一个值,这样就解决了流水号唯一的问题。贴出部分代码(已测试通过)

ps:在应用中,还有一种用java代码去实现模拟自增sequence的方式,具体思路是创建一张存放sequence的table,然后通过java调用sql语句去查询和修改这个table中指定sequence名称的值,这种方式请加上synchronized。具体代码这里就不上传了,因为实现了,未去测试过。

在MySQL中创建实现自增的序列(Sequence)的教程(在mysql中创建数据库和表作业)

在 oracle 中, sequence 提供多表多字段可共用一个不重复值。 Mysql 中存在自增列,基本可以满足 PK 的要求。但自增列存在限制:

a. 只能用于表中的一个字段,一张不能同时存在两个以上的自增列 ;

b. 自增列必须被定义为 key ( PK 或 FK ) ;

c. 自增列不能被多个表共用 ;

d. 当 insert 语句不包括自增字段或将其值设置为 NULL 时,该值会自动填上。

在不要求字段顺序递增的情况下,可以在 Mysql 中实现序列,再来看下面一个例子:

在 SQL 中使用序列:创建序列,往sequence表插入值即可:

查看当前已建序列:

获得序列的下一个值,第一次使用,因此值为1:

MySQL存储过程中一些基本的异常处理教程 有时候,不希望存储过程抛出错误中止执行,而是希望返回一个错误码。Mysql支持异常处理,通过定义CONTINUE/EXIT异常处理的HANDLER来捕获SQLWARNING/NOTFOUND/SQ

MySQL性能监控软件Nagios的安装及配置教程 Nagios是一款Linux上成熟的监视系统运行状态和网络信息的开原IT基础设施监视系统,Nagios能监视所指定的本地或远程主机及服务,例如HTTP服务、FTP服务等

安装配置MySQLMTOP来监控MySQL运行性能的教程 一、环境说明1、服务器角色2、系统环境CentOS6.2x_、环境要求(1)、MySQL5.0及以上(用来存储监控系统采集的数据)(2)、Apache2.2及以上(WEB服务器运行服

标签: 在mysql中创建数据库和表作业

本文链接地址:https://www.jiuchutong.com/biancheng/312414.html 转载请保留说明!

上一篇:MySQL中临时表的基本创建与使用教程(mysql临时表什么时候销毁)

下一篇:MySQL存储过程中一些基本的异常处理教程(mysql存储过程之错误处理)

  • 法人是残疾人有什么优惠政策
  • 北京增值税发票网上申领流程
  • 预期信用损失率计算公式
  • 交易性金融资产的交易费用计入哪里
  • 资产总额是营业收入吗
  • 处置固定资产简易征收
  • 材料成本差异会计
  • 转租的门面怎么办营业执照
  • 二手车公司怎么开发票
  • 利润为负会计分录
  • 营改增后建筑业税率变化情况
  • 职工福利费税前扣除标准最新
  • 每月收到融资租赁费利息发票
  • 工资薪金支出税收额是什么意思
  • 付款信息和开票信息区别
  • 预定机票如何正常退票
  • 发票 发票联
  • 固定资产账面价值在什么情况下会出现负值
  • 跨年度费用应如何计算
  • 发票真伪查询的金额填多少
  • 营改增前甲供材施工企业如何缴纳企业所得税
  • php类和对象
  • uniapp安装插件
  • 回迁房?
  • 冲减应收账款的分录
  • 无形资产出租怎么开具发票
  • vue3刷新组件
  • 社保缴费基数差1000一般差多少?
  • 水利建设基金按季度缴纳
  • 什么是工程施工的总纲领
  • 特定业务预缴
  • php页面跳转方法
  • uniapp 手写识别
  • Code For Better 谷歌开发者之声——使用谷歌浏览器 Chrome 更好地调试
  • 增值税收范围
  • 单位之间的争议由谁处理
  • php是免费的吗
  • mysql的union语句
  • 帝国cms首页调用其他网站数据
  • 一般纳税人销售货物税率
  • 银行汇票如何背书转让
  • 售后回租融资租赁会计处理
  • 小规模交社保有人数限制吗
  • 个人所得税手续费奖励办税人员文件
  • 存货资产评估方法
  • 出口佣金账务处理
  • 会计和外贸哪个工作强度大
  • 收到国税退回的税款分录
  • 工程设备租赁有哪些
  • 总资产利润率一般为多少
  • 应收账款的客户如何分析
  • 材料自产自销的会计科目
  • 缴纳文化事业建设费的单位应按照提供广告服务
  • 各类奖金正确的排序
  • abc类企业的划分
  • 个税申报工资比实发工资高
  • 甲公司控股乙公司
  • 提前支付利息如何计算
  • linux中,什么命令可以控制口令的存活时间?
  • kali linux 视频教程
  • win10周年更新版是什么意思
  • winxp怎么做系统
  • 苹果电脑优酷视频播放不了
  • redis-stat监控
  • win7应用程序无法正常启动
  • 微软推出windows1
  • win10 sfc命令
  • win7软件界面显示不全怎么办
  • node.js+mysql
  • linux无法使用yum命令
  • node.js中使用文件流进行文件复制,首先需要创建一个
  • unity2d序列帧
  • 安卓xml存储方式
  • 河北省国家税务局长简介
  • 个人所得税是先交还是后交
  • 怎么注册用户名短的淘宝账号
  • 异地户口如何办理护照
  • 天津地税自助办税终端
  • 烟叶税属于中央税还是地方税
  • 登录上海电子税务局显示获取公告失败
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设