背景:由于项目需要,必须用mysql设置主键自增长,而且想用字符串的。经过上网查找并且实验,终于做出了一套方案。现在就共享给大家! 解决思路:由于mysql不带sequence,所以要手写的,创建一张储存sequence的表(tb_sequence),然后手动插入一条数据 ,最后

背景:由于项目需要,必须用mysql设置主键自增长,而且想用字符串的。经过上网查找并且实验,终于做出了一套方案。现在就共享给大家!

解决思路:由于mysql不带sequence,所以要手写的,创建一张储存sequence的表(tb_sequence),然后手动插入一条数据 ,最后自定义一个函数来处理要增长的值。

一起做吧:

1、创建表tb_sequence,用来存放sequence值:

[sql] view

plaincopyprint?

createtabletb_sequence(namevarchar(50)notnull,current_valueintnotnull,_incrementintnotnulldefault1,primarykey(name));

2、手动插入数据:

[sql] view

plaincopyprint?

insertintotb_sequencevalues('userid',100,2);

3、定义函数 _nextval:

[sql] view

plaincopyprint?

DELIMITER //

createfunction_nextval(nvarchar(50))returnsinteger

begin

declare_curint;

set_cur=(selectcurrent_valuefromtb_sequencewherename= n);

updatetb_sequence

setcurrent_value = _cur + _increment

wherename=n ;

return_cur;

end;

//

说明:delimiter // ---->定义语句结束符。其他的代码 自己看吧。

4、恢复默认的语句结束符:(可以省略但是结束符必须用// ,为了方便还是设置回来。)

[sql] view

plaincopyprint?

DELIMITER ;

5、检验结果

多次执行以下语句:

[sql] view

plaincopyprint?

select_nextval('userid');

结果显示:

[sql] view

plaincopyprint?

mysql>select_nextval('userid');

+--------------------+

| _nextval('userid') |

+--------------------+

| 102 |

+--------------------+

1 row inset(0.00 sec)

mysql> select_nextval('userid');

+--------------------+

| _nextval('userid') |

+--------------------+

| 104 |

+--------------------+

1 row inset(0.00 sec)

mysql> select_nextval('userid');

+--------------------+

| _nextval('userid') |

+--------------------+

| 106 |

+--------------------+

1 row inset(0.00 sec)

6、实验结束。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql怎么设置主键增长序列_mysql 如何设置自动增长序列 sequence(一)相关推荐

  1. mysql学习second主键约束,唯一约束,自动增长(创建时候添加,删除,删除添加)

    -- 创建表时候又唯一约束 CREATE TABLE stu01(id INT,phone_number VARCHAR(20) UNIQUE ); -- 注意唯一约束可以有null值但是只能有一列一 ...

  2. mysql设置主键的作用_mysql设置主键有什么用

    mysql设置主键的作用是:1.唯一地标识表中的每一行,通过它可强制表的实体完整性:2.主要是用于其他表的外键关联,以及本记录的修改与删除. [相关学习推荐:mysql教程] mysql设置主键的作用 ...

  3. mysql中的主键地作用_mysql主键概念及作用

    mysql主键概念及作用 发布时间:2020-04-23 11:15:38 来源:亿速云 阅读:217 作者:三月 本文主要给大家介绍mysql主键概念及作用,希望可以给大家补充和更新些知识,如有其它 ...

  4. 数据的完整性(正确性和准确性):分类-实体完整性:主键约束、唯一约束、自动增长列。域完整性-非空约束、默认值约束、检查约束。引用完整性-一对一、一对多、多对多

    文章目录 1 数据的完整性作用 2 完整性的分类 2.1 实体完整性 2.1.1 主键约束 primary key 2.1.2 唯一约束 unique 2.1.3 自动增长列 auto_increme ...

  5. php主键自增sql语句,sql 自动增长的主键

    问:SQL Server 2005中设计表时和在SQL Server Management Studio Express中如何得到 自动 编号字段? 答:具体步骤如下: ①像Access中的 自动 编 ...

  6. mysql插入时主键id为uuid_mysql插入数据自动生成主键uuid

    DemoMapper.java //注意方法的返回值必须是void; void add(Demo demo); ============================================ ...

  7. mysql中主键的用法_MySQL中的主键以及设置其自增的用法教程

    1.声明主键的方法:您可以在创建表的时候就为表加上主键,如: CREATE TABLE tbl_name ([字段描述省略...], PRIMARY KEY(index_col_name)); 也可以 ...

  8. MySql Workbench如何设置主键自增长

    一直以来使用的MySQL数据库客户端都是Navicat,不得不说Navicat用起来还是很方便的. 可惜它是商业收费软件,因为版权原因,公司禁止使用其PJ软件.要求全部卸载 于是乎,换用了MySQL官 ...

  9. mysql的主键有什么作用_mysql设置主键有什么用

    mysql设置主键的作用是:1.唯一地标识表中的每一行,通过它可强制表的实体完整性:2.主要是用于其他表的外键关联,以及本记录的修改与删除. [相关学习推荐:mysql教程] mysql设置主键的作用 ...

最新文章

  1. 170亿参数加持,微软发布史上最大Transformer模型
  2. linux mysql 1030,MySQL报错ERROR 1030 (HY000): 解决过程
  3. 1.单机部署hadoop测试环境
  4. spring Boot 2.1.5 (1)---安装环境
  5. webpy使用笔记(一)
  6. VMWare虚拟机空间扩展
  7. vs2019配置opencv_VS2019下Opencv配置
  8. SQL Server 聚合函数算法优化技巧
  9. mysql升级:rpm包安装升级
  10. CRM及协同办公高保真原型、审批管理、办公申请、工单管理、任务管理、日程管理、工作报告、签到考勤、客户管理、销售线索、商机管理、订单管理、账务管理、统计报表、回款管理、发票管理、报销管理、拜访跟进
  11. 想从事Python后端开发?如何入门和学习,这篇文章来告诉你。
  12. 读书笔记-大教堂与集市
  13. 微信公众平台开发(34)微相册
  14. 微信公众平台开发者配置
  15. 常用的html代码 加粗 加亮 字型加大 变色等
  16. 微搭低代码入门教程01
  17. 分享通达信选股公式源码
  18. 戴尔服务器EMS01安装系统,PowerEdge 2950 (DC Power Supply) - EMS01
  19. Cortex内核的比较(M3和M4)
  20. 使用 OpenGL 绘制正方形

热门文章

  1. java set中取数据_Java中取数据库用的ResultSet问题
  2. c#web页面显示弹窗_web页面实现PDF读取显示
  3. java 操作系统 模拟 daima_编写一个程序,利用Java语言模拟操作系统进程调度管理...
  4. ios双指放大缩小_用PS设计APP过程中改进IOS设计流程的30个秘诀
  5. 浏览器的cookie和服务器存储的session有什么关联,下面妙文为你解答
  6. Mysql 备份和还原
  7. 06构造方法和文件读取
  8. 设计模式:000设计模式与面向对象介绍
  9. python showinfo 方法_Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
  10. Envi和Arcgis软件冲突的解决方法