国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL中主鍵為0與主鍵自排約束的關系詳解(細節)

2024-07-25 19:08:25
字體:
來源:轉載
供稿:網友

前言

本文主要介紹了關于MySQL主鍵為0與主鍵自排約束的關系,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

開始不設置主鍵表的設計如下:

mysql,主鍵約束,多主鍵約束,主鍵為空

mysql,主鍵約束,多主鍵約束,主鍵為空

如果id的位置有好幾個0的話:設置主鍵并且自動排序時,0會從1開始遞增;

mysql,主鍵約束,多主鍵約束,主鍵為空

mysql,主鍵約束,多主鍵約束,主鍵為空

Insert 進去 id = 0的數據,數據會從實際的行數開始增加,和從0變化不一樣;

mysql,主鍵約束,多主鍵約束,主鍵為空

mysql,主鍵約束,多主鍵約束,主鍵為空

mysql,主鍵約束,多主鍵約束,主鍵為空

現在主鍵是沒有0的,如果把某個id改成0的話,0不會變!直接會進行排序;

mysql,主鍵約束,多主鍵約束,主鍵為空

mysql,主鍵約束,多主鍵約束,主鍵為空

再insert一個id=0的看看,居然還是跟剛才一樣直接跟行數相關!

mysql,主鍵約束,多主鍵約束,主鍵為空

mysql,主鍵約束,多主鍵約束,主鍵為空

再重置一下自動排序,看看這個0會不會有變化,先取消自排;

mysql,主鍵約束,多主鍵約束,主鍵為空

mysql,主鍵約束,多主鍵約束,主鍵為空

再加上自排,果然跟想的一樣,0要變成1了,錯誤提示說的是主鍵有重復的1所以不讓自排,

mysql,主鍵約束,多主鍵約束,主鍵為空

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

mysql,主鍵約束,多主鍵約束,主鍵為空

mysql,主鍵約束,多主鍵約束,主鍵為空

小結

我覺得也就這幾種情況吧,無符號的情況應該沒什么區別,還有什么沒有考慮的希望大家給我留言,可以告訴我你是怎么想的,我也很想知道,現在拋磚引玉我把我的總結和想法寫一下:

  對我來說,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開始遞增變化。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长治县| 永州市| 衡水市| 青铜峡市| 岚皋县| 巴马| 阿坝县| 金溪县| 盐边县| 揭阳市| 深水埗区| 句容市| 仙游县| 兴化市| 文山县| 济源市| 定边县| 肥西县| 应用必备| 成都市| 图们市| 肇州县| 墨竹工卡县| 贞丰县| 湖州市| 沅陵县| 渝中区| 巴青县| 前郭尔| 响水县| 潍坊市| 兖州市| 溆浦县| 新乡县| 三原县| 昌乐县| 巨野县| 平乐县| 白玉县| 六枝特区| 惠安县|