位置: 编程技术 - 正文

基于MySql的扩展功能生成全局ID(mysql 扩展)

编辑:rootadmin

推荐整理分享基于MySql的扩展功能生成全局ID(mysql 扩展),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysqli扩展,mysql文件的扩展名是什么,基于mysql的数据库,mysql的扩展名,mysql文件的扩展名是什么,在mysql扩展中,mysql_query()函数的作用是,mysql 扩展,mysql 扩展字段,内容如对您有帮助,希望把文章链接给更多的朋友!

本文利用 MySQL的扩展功能 REPLACE INTO 来生成全局id,REPLACE INTO和INSERT的功能一样,但是当使用REPLACE INTO插入新数据行时,如果新插入的行的主键或唯一键(UNIQUE Key)已有的行重复时,已有的行会先被删除,然后再将新数据行插入(REPLACE INTO 是原始操作)。

建立类似下面的表:

当需要获得全局唯一ID时,执行下面的SQL语句:

第一次执行这个语句后,ticket表将包含以下数据:

+--------+------+ | id | stub | +--------+------+ | 1 | a | +--------+------+

以后再次执行前面的语句,stub字段值为'a'的行已经存在,所以MySQL会先删除这一行,再插入。因此,第二次执行后,ticket表还是只有一行数据,只是id字段的值为2。这个表将一直只有一行数据。

更棒的方法:

基于MySql的扩展功能生成全局ID(mysql 扩展)

比如,只需要一张ticket表就可以为所有的业务表提供各自连续的ID。下面,来看一下我们的方法。首先来看一下表结构:

注意区别,id字段不是自增的,也不是主键。在使用前,我们需要先插入一些初始化数据:

接下来,我们可以通过执行下面的SQL语句来获得新的照片ID:

我们执行了一个更新操作,将id字段增加1,并将增加后的值传递到LAST_INSERT_ID函数,从而指定了LAST_INSERT_ID的返回值。

实际上,我们不一定需要预先指定序列的名字。如果我们现在需要一种新的序列,我们可以直接执行下面的SQL语句:

这里,我们采用了INSERT … ON DUPLICATE KEY UPDATE这个MySQL扩展,这个扩展的功能也和INSERT一样插入一行新的记录,但是当新插入的行的主键或唯一键(UNIQUE Key)和已有的行重复时,会对已有行进行UPDATE操作。

当我们第一次执行上面的语句时,因为还没有name为'new_business'的字段,所以正常的执行了插入操作,需要注意的是通过这种方式获取的序列起始值为0,而不是1。因为第一次执行时,没有执行UPDATE,所以也没有为LAST_INSERT_ID传递值,我们也没有自增字段,所以SELECT LAST_INSERT_ID()将返回0。不过这个应该不是什么大问题。

UPDATE: 这个方法更容易解决单点问题,也不局限于两个服务器,只要对不同的服务器设置不同的初始值(但必须是连续的),然后将增量变为服务器数就行了。

以上内容是基于MySql的扩展功能生成全局ID的相关资料,希望大家喜欢。

MySQL用作备份还原的导入和导出命令用法整理 mysqldump命令行导出数据库:1,进入MySQL目录下的bin文件夹:cdMySQL中到bin文件夹的目录如我输入的命令行:cdC:ProgramFilesMySQLMySQLServer4.1bin2,导出数据库

分享Mysql命令大全 1、连接Mysql格式:mysql-h主机地址-u用户名-p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysqlbin,再键入命令mysql-uroot-p,回车后提

MySQL中几种数据统计查询的基本使用教程 统计平均数SELECTAVG()FROM语法用于从数据表中统计数据平均数。语法:SELECTAVG(column)FROMtb_name该SQL语法用于统计某一数值类型字段的平均数,AVG()内不能是

标签: mysql 扩展

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

上一篇:Mysql全局ID生成方法(mysql自动生成id)

下一篇:MySQL用作备份还原的导入和导出命令用法整理(mysql备份原理)

  • 出口退税无纸化备案
  • 小规模纳税人进项发票怎么做账
  • 金税盘交钱
  • 增值税进项发票网上勾选平台
  • 进口环节增值税由海关征收吗
  • 建筑公司没有资质可以施工吗
  • 永续盘存制的含义
  • 房屋评估价格是否含增值税
  • 预缴增值税销售额
  • 交强险发票备注的车船税怎么报销
  • 社保基数超过工资
  • 存货周转天数一般在多少为合适
  • 房地产土地成本计算公式
  • 其他收益期末余额在借方还是贷方
  • 建筑 分包
  • 进项税转出余额方向在哪一方
  • 银行转账取得的收据
  • 跨年收入能开发票吗
  • 融资租赁增值税优惠政策
  • 旧macbookpro
  • 增资后持股比例怎么算
  • 汇算清缴时业务招待费税收金额为零是什么原因
  • 购买销售商品
  • 车辆购置税的计税基础
  • 基于vue的ui
  • 驱动开发函数详解
  • 什么发票才能做账务处理
  • 增值税普通发票和专用发票有什么区别
  • 新购买的发票如何读取
  • 收到快递赔款分录怎么做
  • 残疾人个人所得税减免怎么填写申报
  • 固定资产处置怎么计算
  • 网商贷企业贷款条件
  • 家具入账固定资产怎么算
  • python如何开发系统
  • 还款利息
  • 租金收入如何确认收入
  • 用友t3财务软件价格表
  • 物业费的税可以抵扣吗
  • 税务信用级别A有什么好处
  • 本期数值与去年同期数值之差称为什么
  • 小微企业的认定标准企业所得税
  • 电子税务局实名核验失败
  • 小微企业是怎样自己认定的呢
  • 待认证进项税额月末怎么处理
  • 仓库到仓库贸易术语
  • 补助是工资以外的吗
  • 从公司账户转给他人私户1万元以内需要扣多钱的税
  • 应收款项减值的备抵法及其会计处理
  • 甲方代付农民工工资谁报个税
  • 房地产开发企业建造的商品房,在出售前
  • sql报错22018
  • win8玩英雄联盟
  • macbookzen
  • linux 添加ipv6路由
  • 如何去掉macbook开机密码
  • speedupmypc.exe - speedupmypc是什么进程
  • winxp升级win7教程图文
  • 苹果机的mac地址
  • windows预体验版本遇到问题
  • 怎么查看自己mac电脑有没有被人使用过
  • ie8怎么设置默认ie7模式
  • win8飞行模式在哪
  • docker如何部署环境到生产
  • js datetime
  • 幼儿园放鞭炮
  • python整数数字
  • ps如何把图片放大缩小
  • javascript中Date format(js日期格式化)方法小结
  • 广东电子税务系统社保1号都能申报吗
  • 广告业发票税率是多少 可以抵扣多少
  • 湖北耕地占用税标准
  • 我的宁夏灵活就业缴费失败
  • 国家税务总局l
  • 国税和地税分别交什么税
  • 电子税务局辽宁省
  • 税务局开展税收宣传
  • 无锡梁溪区在哪
  • 取得土地使用权后两年未开发
  • ic卡读取失败是怎么回事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设