Easter79 Easter79
3年前
springboot2结合mybatis拦截器实现主键自动生成
前言前阵子和朋友聊天,他说他们项目有个需求,要实现主键自动生成,不想每次新增的时候,都手动设置主键。于是我就问他,那你们数据库表设置主键自动递增不就得了。他的回答是他们项目目前的id都是采用雪花算法来生成,因此为了项目稳定性,不会切换id的生成方式。朋友问我有没有什么实现思路,他们公司的orm框架是mybatis,我就建议他说,不然让你老大把m
Wesley13 Wesley13
3年前
MySQL使用on duplicate key update时导致主键不连续自增
使用onduplicatekeyupdate语法有时是很方便,但是会有一个影响:默认情况下,每次更新都会更新该表的自增主键ID,如果更新频率很快,会导致主键ID自增的很快,过段时间就超过数字类型的的范围了解决这个问题,有两种方式:(实际我目前使用的方式是把自增主键ID设置为bigint,也有一部分操作先查询再选择插入OR更新)方法一:拆分成两个
Stella981 Stella981
3年前
Hive中使用row_number() over()创建自增主键
虽然hive中的表没有主键一说,但是实际数据开发中经常需要将hive中计算好的表导出到mysql库中供业务使用或开发调用,而mysql表是需要有主键的,在hive中我们可以使用row\_number()over()窗口函数来生成一个自增序列的字段,在将表导出到mysql库中的时候就可以指定该字段为主键,使用起来还是挺方便的。select
Wesley13 Wesley13
3年前
mysql 转 oracle
1.oracle批量插入<insertid"save"insertintot_ac_user_role(userroleid,<!主键roleid,userid)
Wesley13 Wesley13
3年前
Mysql 数据类型、约束类型
mysql数据类型MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。数值类型MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUME
Wesley13 Wesley13
3年前
MySQL ORDER BY主键id加LIMIT限制走错索引
背景及现象report\_product\_sales\_data表数据量2800万;经测试,在当前数据量情况下,orderby主键id,limit最大到49的时候可以用到索引report\_product\_sales\_data\_hq\_code\_orgz\_id\_index,大于49时就走PRIMARY主键索引。
Wesley13 Wesley13
3年前
MySQL中快速找出无显式主键的表
大家好,我是知数堂SQL优化班老师网名:骑龟的兔子版本 :Serverversion:8.0.22MySQLCommunityServerGPL目标:想要查找没有显示主键的表第一步:查询所有用户表SELECT第二步 : 查找所有包含显示主键的表第三
Wesley13 Wesley13
3年前
MySQL之查询语句的基本操作
一.查询语句的基本操作1.查询语句的基本操作selectfromwhere:约束条件groupby:分组having:过滤distinct:去
Wesley13 Wesley13
3年前
MySQL 主键与索引的联系与区别
关系数据库依赖于主键,它是数据库物理模式的基石。主键在物理层面上只有两个用途:惟一地标识一行。作为一个可以被外键有效引用的对象。索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。下面是主键和索引的一些区别与联系。1\.主键一定是唯一性索引,唯一性索引并不一定就是主