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

首頁 > 數據庫 > MySQL > 正文

mysql中自增auto_increment功能的相關設置及問題

2024-07-24 13:01:24
字體:
來源:轉載
供稿:網友

mysql中的自增auto_increment功能相信每位phper都用過,也都知道如何設置字段為自增字段,但并不是所有phper都知道auto_increment的起始值和遞增量是如何設置的!本文就為大家分享一下mysql字段自增功能的具體查看及設置方法。

涉及知識介紹:
mysql服務器維護著2種mysql的系統參數(系統變量):全局變量(global variables)和會話變量(session variables)。它們的含義與區別如其各占的名稱所示,session variables是在session級別的,對其的變更只會影響到本session;global variables是系統級別的,對其的變更會影響所有新session(變更時已經存在session不受影響)至下次mysql server重啟動。注意它的變更影響不能跨重啟,要想再mysql server重啟時也使用新的值,那么就只有通過在命令行指定變量選項或者更改選項文件來指定,而通過SET變更是達不到跨重啟的。
每一個系統變量都有一個默認值,這個默認值是在編譯mysql系統的時候確定的。對系統變量的指定,一般可以在server啟動的時候在命令行指定選項或者通過選項文件來指定,當然,大部分的系統變量,可以在系統的運行時,通過set命令指定其值。

首先需要介紹一下查看mysql中全局變量的方法:

復制代碼 代碼如下:


show variables like '%xxx%'; <==> show session variables like '%xxx%'; //session會話變量
show global variables like '%xxx%'; //全局變量


例如查看與auto_increment相關的變量方法如下:

復制代碼 代碼如下:


show variables like '%auto_increment%';



一般情況結果為:

variables_name value

auto_increment_increment 1

auto_increment_offset 1


第一個變量名 auto_increment_increment 就是指 字段一次遞增多少;
第二個變量名 auto_increment_offset 指 自增字段的起始值。
比如,有個表test,字段id為主鍵,自增;
如果auto_increment_offset=1 , 并且auto_increment_increment=1,那么向表中插入第一條數據時,則該條數據的id=1,第二條id=2,第三條id=3以此類推……
如果auto_increment_offset=2 , 并且auto_increment_increment=10,那么向表中插入第一條數據時,則該條數據的id=2,第二條id=12,第三條id=22以此類推……
注意:如果auto_increment_offset的值大于auto_increment_increment的值,則auto_increment_offset的值被忽略。

了解如何查看及其含義以后,剩下的就是如何修改這些變量的值了,修改也非常簡單,語句格式如下:
set auto_increment_increment=10
就這么簡單就把變量auto_increment_increment的值設置成了10
—————————————————————————————————————
補充一個看似簡單但又不是很簡單的問題:
問:如果有一張表,里面有個字段為id的自增主鍵,當已經向表里面插入了10條數據之后,刪除了id為8,9,10的數據,再把mysql重啟,之后再插入一條數據,那么這條數據的id值應該是多少,是8,還是11?
答:如果表的類型為MyISAM,那么是11。如果表的類型為InnoDB,則id為8。
這是因為兩種類型的存儲引擎所存儲的最大ID記錄的方式不同,MyISAM表將最大的ID記錄到了數據文件里,重啟mysql自增主鍵的最大ID值也不會丟失;
而InnoDB則是把最大的ID值記錄到了內存中,所以重啟mysql或者對表進行了OPTIMIZE操作后,最大ID值將會丟失。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 香港| 阳春市| 乌审旗| 张家港市| 怀集县| 乐陵市| 绥中县| 阳泉市| 丰台区| 乌兰察布市| 漯河市| 湛江市| 乐业县| 调兵山市| 延庆县| 新丰县| 宁波市| 台东县| 茂名市| 普兰县| 芦溪县| 星座| 华坪县| 防城港市| 古丈县| 青岛市| 定州市| 淳化县| 吴桥县| 高要市| 上思县| 兴宁市| 阳曲县| 广灵县| 香港 | 同德县| 望江县| 阳高县| 鹤岗市| 海口市| 德令哈市|