刚开始不设定主键

表的设计方案以下:

(细节)My SQL中主键为0和主键自排约束的关系  数据库  第1张

(细节)My SQL中主键为0和主键自排约束的关系  数据库  第2张

假如id的部位有很多0得话:设定主键而且自动排序时,0会从1刚开始增长;

  (细节)My SQL中主键为0和主键自排约束的关系  数据库  第3张

(细节)My SQL中主键为0和主键自排约束的关系  数据库  第4张

Insert 进来 id = 0的数据信息,数据信息会从具体的个数刚开始提升,和从0转变不一样;

  (细节)My SQL中主键为0和主键自排约束的关系  数据库  第5张

(细节)My SQL中主键为0和主键自排约束的关系  数据库  第6张

(细节)My SQL中主键为0和主键自排约束的关系  数据库  第7张

如今主键是沒有0的,假如把某一id改为0得话,0不容易变!立即会开展排列;

  (细节)My SQL中主键为0和主键自排约束的关系  数据库  第8张

(细节)My SQL中主键为0和主键自排约束的关系  数据库  第9张

insert一个id=0的看一下,竟然還是跟刚刚一样立即跟个数有关!

  (细节)My SQL中主键为0和主键自排约束的关系  数据库  第10张

(细节)My SQL中主键为0和主键自排约束的关系  数据库  第11张

再重设一下自动排序,看一下这一0是否会有转变,

先撤销自排;

(细节)My SQL中主键为0和主键自排约束的关系  数据库  第12张

(细节)My SQL中主键为0和主键自排约束的关系  数据库  第13张

再再加上自排,果真跟想的一样,0要变为1了,报错说的是主键有反复的1因此 不许自排,

  (细节)My SQL中主键为0和主键自排约束的关系  数据库  第14张

改动以后,果然就行了,0变为1了,

  (细节)My SQL中主键为0和主键自排约束的关系  数据库  第15张

(细节)My SQL中主键为0和主键自排约束的关系  数据库  第16张

       我认为也就这几类状况吧,无标记的状况应当没有什么差别,有没有什么沒有考虑到的期待大伙儿帮我留言板留言,能够 跟我说你是怎么想的,因为我很想要知道,如今毛遂自荐我将我的小结和念头写一下:

  一件事而言,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刚开始增长转变。

  回来想想想,问了问人,总算弄清楚了怎么会出現这类状况,表述这类状况的缘故我写在了下一篇美文:http://www.cnblogs.com/wf-skylark/p/9060957.html