前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >(解释文)My SQL中主键为0和主键自排约束的关系

(解释文)My SQL中主键为0和主键自排约束的关系

作者头像
汪凡
发布于 2018-05-29 07:23:21
发布于 2018-05-29 07:23:21
1.3K2
举报
文章被收录于专栏:python成长之路python成长之路

  上一篇我们说了关于自排如果主键是0的问题,在这里我搞清楚了原因,导致这种情况是因为在SQL中对自排设置了初始值:

  从这里可以看到这两个变量一个是自增的初始值,一个是增量,这里都是1,所以在设置自增的时候会把那个字段原来存在的所有0变成从1开始的步长为1的等差数列。

  但是这个数值是可以被修改的(不过在这里不建议修改),在insert的时候如果插入的是0,则会默认以插入的行号为准,也就是默认值自动变成了行号。

  首先我们得明白,主键自排,为什么要使用主键自排,还不因为以后索引等很多操作方便,所以这里插入时会以行号来改变0完全合理。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-05-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
2 条评论
热度
最新
谢谢分享
谢谢分享
回复回复点赞举报
主键自排,为什么要使用主键自排,还不因为以后索引等很多操作方便,所以这里插入时会以行号来改变0完全合理。
主键自排,为什么要使用主键自排,还不因为以后索引等很多操作方便,所以这里插入时会以行号来改变0完全合理。
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Leetcode | 第2节:动态规划(下)
这一节的题目绝大部分都是选择的Leetcode中的hard(当然也有少部分的medium)。主要是挑选了一些之前看过的高频题。这些题目没有什么通用的解法,每一个题都需要仔细的去建模和考量,才能够写出对应的状态转移方程。读者可以尝试自己先思考,也可以通过解析摸一摸困难的动态规划题,可能会有哪些难点。
学弱猹
2021/08/10
7140
算法初步---基本的数据结构(java为例)
  最近搞算法,觉得超级吃力的,一直以为数学好的,数学可以考试满分,算法一定没什么问题,贱贱地,我发现我自己想多了,还是自己的基础薄弱吧,今天我来补补最基础的知识。
小菜的不能再菜
2019/09/18
3690
分库分表的 9种分布式主键ID 生成方案,挺全乎的
《sharding-jdbc 分库分表的 4种分片策略》 中我们介绍了 sharding-jdbc 4种分片策略的使用场景,可以满足基础的分片功能开发,这篇我们来看看分库分表后,应该如何为分片表生成全局唯一的主键 ID。
程序员小富
2020/11/09
3.1K0
分库分表的 9种分布式主键ID 生成方案,挺全乎的
MySQL实战第三十九讲-自增主键为什么不是连续的?
在 第4篇 文章中,我们提到过自增主键,由于自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,因此索引更紧凑。
越陌度阡
2022/11/27
1K0
MySQL实战第三十九讲-自增主键为什么不是连续的?
MySQL表的完整性约束
  为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。
changxin7
2019/09/10
3.5K0
一口气说出 9种 分布式ID生成方式,面试官有点懵了
前两天粉丝给我留言吐槽最近面试:“四哥,年前我在公司受点委屈一冲动就裸辞了,然后现在疫情严重两个多月还没找到工作,接了几个视频面试也都没下文。好多面试官问完一个问题,紧接着说还会其他解决方法吗?能干活解决bug不就行了吗?那还得会多少种方法?”
用户4172423
2020/02/26
9830
数据可视化:认识Numpy
NumPy是一个开源的Python数据分析和科学计算库,全称为“Numerical Python”,主要用于数组计算。NumPy是作为数据分析必备库之一,是从事数据分析行业人员必要了解和学习的一个库,下面我们就来一起了解下NumPy。
马拉松程序员
2023/09/02
3100
数据可视化:认识Numpy
MySQL实战第四十五讲- 自增id用完怎么办?
MySQL 里有很多自增的 id,每个自增 id 都是定义了初始值,然后不停地往上加步长。虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限。比如,无符号整型 (unsigned int) 是 4 个字节,上限就是 2^32-1。
越陌度阡
2021/09/26
8430
MySQL实战第四十五讲- 自增id用完怎么办?
MySQL 的自增主键一定是连续
结合实例分析了自增值保存在哪里,自增值的修改策略,以及自增值不连续的四个场景,希望对各位小伙伴们有所帮助~
飞天小牛肉
2023/01/11
3.8K0
MySQL自增主键详解「建议收藏」
2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化。每次重启后,第一次打开表的时候,都会去找自增值的最大值max(id),然后将max(id)+步长作为这个表当前的自增值
全栈程序员站长
2022/09/06
6K0
MySQL自增主键详解「建议收藏」
(细节)My SQL中主键为0和主键自排约束的关系
开始不设置主键 表的设计如下: 如果id的位置有好几个0的话:设置主键并且自动排序时,0会从1开始递增; Insert 进去 id = 0的数据,数据会从实际的行数开始增加,和从0变化不一样; 现在主
汪凡
2018/05/29
1.2K0
MySQL数据表中的auto_increment自增值属性及修改
长期以来,我的博客数据库中连续文章的主键编号一直都不是连续的,让我这个强迫症晚期患看着很不舒服。在忍受了这么长时间以后,趁着给博客换域名的时机,我把所有的文章编号全部改成了连续的,可算是舒服多了。
知识分子没文化
2023/07/01
3.9K1
MySQL数据表中的auto_increment自增值属性及修改
数据科学篇| Numpy 库的使用(一)
实际上,标准的Python中,用列表保存数组的值。由于列表中的元素是任意的对象,所以列表中list保存的是对象的指针。虽然在Python编程中隐去了指针的概念, 但是数组有指针,Python的列表list其实就是数组。这样如果我们要保存一个简单的数组 [0,1,2],就需要有3个指针和3个整数对象,这样对于Python来说是非常不经济 的,浪费了内存和计算时间。
润森
2019/08/29
1.6K0
SQL学习笔记三(补充-3)之MySQL完整性约束
是否可空,null表示空,非字符串 not null - 不可空 null - 可空
Jetpropelledsnake21
2019/02/15
1.5K0
【数据结构】手撕排序(排序的概念及意义、直接插入和希尔排序的实现及分析)
排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起 来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记 录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍 在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。 内部排序:数据元素全部放在内存中的排序。 外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据 的排序。
走在努力路上的自己
2024/01/26
1210
【数据结构】手撕排序(排序的概念及意义、直接插入和希尔排序的实现及分析)
Mysql数据库--删除和备份、约束类型
drop操作就是直接把这个表删除了,这个表根本就不会存在于这个数据库里面了,但是我们的delete是把表里面的记录删除掉,但是这个表还是存在的;
阑梦清川
2025/02/24
1330
Mysql数据库--删除和备份、约束类型
MyBatis+Spring MVC开发指南(一)前言没有MyBatis之前 MyBatis框架的架构Quick StartMapper代理开发关于自增主键返回关于动态SQL
MyBatis+Spring MVC这套组合,在实际互联网项目中非常流行,博主工作中也涉及过,打算由浅入深、系统的写出来!这个系列将会涵盖MyBatis开发详解、Spring MVC开发详解,以及2者的结合使用,并会分析它们的原理!(可以参考博主的另一篇文章了解Spring MVC原理:《写出我的第一个框架:迷你版Spring MVC》)
用户2890438
2018/08/21
5290
MyBatis+Spring MVC开发指南(一)前言没有MyBatis之前
MyBatis框架的架构Quick StartMapper代理开发关于自增主键返回关于动态SQL
5 种全局 ID 生成方式、优缺点及改进方案
系统唯一id是我们在设计阶段常常遇到的问题。在复杂的分布式系统中,几乎都需要对大量的数据和消息进行唯一标识。在设计初期,我们需要考虑日后数据量的级别,如果可能会对数据进行分库分表,那么就需要有一个全局唯一id来标识一条数据或记录。生成唯一id的策略有多种,但是每种策略都有它的适用场景、优点以及局限性。
逆锋起笔
2021/09/29
7.4K0
Mycat分库分表全解析 Part 6 Mycat 全局序列号
在实现分库分表的情况下,表会被分到多个数据库中,这时自增主键已无法保证自增主键的全局唯一。
bsbforever
2020/08/18
8470
Mycat分库分表全解析 Part 6 Mycat 全局序列号
Python科学计算:用NumPy快速处理数据
它不仅是Python中使用最多的第三方库,而且还是SciPy、Pandas等数据科学的基础库。它所提供的数据结构比Python自身的“更高级、更高效”,可以这么说,NumPy所提供的数据结构是Python数据分析的基础。
慕白
2020/01/02
1.2K0
Python科学计算:用NumPy快速处理数据
推荐阅读
相关推荐
Leetcode | 第2节:动态规划(下)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文