More  

收藏本站

電腦請使用 Ctrl + D 加入最愛
手機請使用 收藏
關閉

小編的世界 優質文選 資料

mysql的自增主鍵的一些內容,也許有你需要的


字體大小:
2020年8月09日 -
:     
 

科技達人,優質創作者

今天我們就聊聊這個自增主鍵的一些內容。

創建自增主鍵

先來看看怎麼創建自增主鍵。如上圖中所示,只需要在創建表時在對應的列中用“AUTO_INCREMENT”聲明即可。

那要如何使用這個自增主鍵呢,看看下面的示例。

使用自增主鍵

在insert語句中不指定設置了自增的列,那該列的值就會自增了。如果指定了值,就會按照指定的值做insert操作。

如上圖的insert語句,不需要指定設置了自增的id列,id列就會按照規則進行自增。

那再來看看設置了id列會是什麼效果呢。

可以看到,在指定了id列的值插入數據之後,id列在進行自增的時候就是從剛才指定的值開始自增了。

剛才指定了id列為7,那如果把自增列又指定會小於現有的id值插入一條語句,然後再進行自增會是什麼效果呢。

我插入了一條id為6的數據,然後再通過自增插入c1值為“孫二”的數據,孫二的數據會是在剛才自增的基礎上繼續自增,而不是從6開始。

刪除後面的數據再插入新數據

那如果把後面的數據刪除掉,再用自增的方式插入數據,自增列id的值會是什麼效果呢。

先把數據刪除掉。

只剩下了id為1和2兩條數據了,那這時再通過自增的方式插入數據,id的值會是幾呢,是3嗎?一起來看一下。

看來不是3,而是繼續延續剛才的值進行自增。

插入失敗時,自增列的效果

大家有沒有注意到我開始時建表的語句裏,c1列設置了唯一索引。就是為了在這個地方演示用的。

因為c1列已經有了值為“王五”的數據,所以上圖第一條sql語句執行是會報錯的。那第二條sql語句執行後,插入到數據庫中的id列的值會是11嗎?

第一條sql語句執行報錯

可以看到,即便第一條sql語句執行報錯,沒有成功插入數據庫,但是11這個值也是會被用掉,再進行插入數據時用的值就是12了。

今天的內容就到這了。