(细节)My SQL中主键为0和主键自排约束的关系

wf-skylark 2018-05-18 原文

(细节)My SQL中主键为0和主键自排约束的关系

开始不设置主键

表的设计如下:

如果id的位置有好几个0的话:设置主键并且自动排序时,0会从1开始递增;

 

Insert 进去 id = 0的数据,数据会从实际的行数开始增加,和从0变化不一样;

 

现在主键是没有0的,如果把某个id改成0的话,0不会变!直接会进行排序;

 

insert一个id=0的看看,居然还是跟刚才一样直接跟行数相关!

 

再重置一下自动排序,看看这个0会不会有变化,

先取消自排;

再加上自排,果然跟想的一样,0要变成1了,错误提示说的是主键有重复的1所以不让自排,

 

修改之后,果真可以了,0变成1了,

 

       我觉得也就这几种情况吧,无符号的情况应该没什么区别,还有什么没有考虑的希望大家给我留言,可以告诉我你是怎么想的,我也很想知道,现在抛砖引玉我把我的总结和想法写一下:

  对我来说,0在数据库里很特殊。

  使用limit查看指定范围数据的时候这时候表就会是从0开始往下排的顺序,但是insert添加一行数据的时候反而是跟行数有关系,这时候又是按照从1开始往下排的顺序。如果使用主键自排约束以前表里有0,再设置完主键自排以后所有的0又不会根据行数,而是直接按照自上而下的顺序从1开始排。如果把表中的某个主键的数改成0,那直接就会进行排序放到正数前面,也就是说主键自排是允许有0存在的,那为什么本身存在的0要去修改成从1开始的递增序列呢?哪怕没加主键自排以前只有一个0,加了主键自排以后还是会变成1

  开始有0,增加主键自排约束,0依次变为1,2,3,4…….

  开始没0,增加主键自排约束,新添加的主键是0的行会根据行数自行变化,注意这里是新添加的行,使用的是insert

  开始没0,把某个主键的数修改成0,这个0会直接在排好序了再在表里显示出来。

说得简单一点就是,增加主键自排约束后:

   主键的值:修改成的0,可以存在,就是排个序。

        新添加的0,不允许存在,要根据行号改变。

        本身存在的0,不允许存在,要从1开始递增变化。

发表于 2018-05-18 01:56 汪凡 阅读() 评论() 编辑 收藏

 

版权声明:本文为wf-skylark原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wf-skylark/p/9054191.html

(细节)My SQL中主键为0和主键自排约束的关系的更多相关文章

  1. sql 小册子

    –语 句                                功 能–数据操 […]...

  2. SQL 删除字段 增加字段 – 透明的鱼!

    SQL 删除字段 增加字段    SQL增加字段需要用到sql语句 ALTER TABLE 加(表格名称) A […]...

  3. C# ☞一键清空数据库数据、快速清空数据库、清空数据库原理

      最近手头上的项目即将上线,各部门都在紧张着测试各自的功能。遇到一个很头疼的问题,测试完功能后,数据库中有怎 […]...

  4. 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 改写

    ...

  5. SQL函数Intersect,except整理

    1、  集合函数使用的规则 ①   每个集合要求列数量相同,列顺序相同。 ②   每个集合显示的列,要求数据类 […]...

  6. 还原默认的 SQL Server Management Studio 配置

    还原默认的 SQL Server Management Studio 配置 不熟悉 SQL Server Ma […]...

  7. 聚焦”医疗两会” 核心数据库管理那点事儿

    2019 卫宁健康用户大会、华南医院信息网络大会于周末完美落幕!       在医疗两场重量级大会上不约而同地 […]...

  8. 探索SQL Server元数据(一)

    简介   在数据库中,我们除了存储数据外,还存储了大量的元数据。它们主要的作用就是描述数据库怎么建立、配置、以 […]...

随机推荐

  1. json格式转换 – dreamhappy

    json格式转换 2012-12-18 09:45  dreamhappy  阅读(403)  评论(0)  […]...

  2. nmcli几个常用命令

    nmcli几个常用命令 Posted on 2020-02-16 16:01  酒花  阅读(…) […]...

  3. [洛谷P1062/NOIP2006普及组] 数列(dp)

    Accepted 100 用时: 27ms / 内存: 848KB qwq我和你们这群用进制转换的大佬完全不一 […]...

  4. Linux top命令详解

    Linux top命令详解 一、top命令介绍top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top命令可以动态显示进程的资源使用情况,即可以通过用户按键来不断刷新...

  5. ASP.NET Core Blazor Webassembly 之 路由

    web最精妙的设计就是通过url把多个页面串联起来,并且可以互相跳转。我们开发系统的时候总是需要使用路由来实现 […]...

  6. 渗透测试流程

    渗透测试8大流程 0x00 前言 ​ 渗透测试(penetration testing,pentest)是实施 […]...

  7. 循序渐进VUE+Element 前端应用开发(10)— 基于vue-echarts处理各种图表展示 – 伍华聪

    循序渐进VUE+Element 前端应用开发(10)— 基于vue-echarts处理各种图表展示 […]...

  8. 比特币双花攻击

    双花:就是双重支付,一笔资金被花费了两次。   在传统的交易中,因为有银行这样的中心化机构,所以是不会存在双花 […]...

展开目录

目录导航