亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql中自增auto_increment功能的相關(guān)設(shè)置及問題

 更新時(shí)間:2012年12月11日 16:30:53   作者:  
mysql中的自增auto_increment功能相信每位phper都用過,本文就為大家分享一下mysql字段自增功能的具體查看及設(shè)置方法

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

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

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

復(fù)制代碼 代碼如下:

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

例如查看與auto_increment相關(guān)的變量方法如下:
復(fù)制代碼 代碼如下:

show variables like '%auto_increment%';


一般情況結(jié)果為
variables_name                  value
auto_increment_increment                 1 
auto_increment_offset                 1

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

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

相關(guān)文章

  • MySQL表復(fù)合查詢的實(shí)現(xiàn)

    MySQL表復(fù)合查詢的實(shí)現(xiàn)

    本文主要介紹了MySQL表的復(fù)合查詢,如何使用多表查詢、子查詢、自連接、內(nèi)外連接等復(fù)合查詢的案例,感興趣的可以了解一下
    2023-05-05
  • Mysql更改默認(rèn)引擎為Innodb的步驟方法

    Mysql更改默認(rèn)引擎為Innodb的步驟方法

    mysql默認(rèn)是關(guān)閉InnoDB存儲(chǔ)引擎的使用的,而Mysql默認(rèn)引擎是MyISAM,而MyISAM并不支持事務(wù)處理,因?yàn)樽罱?xiàng)目中的需要所以要更換引擎,通過查找網(wǎng)上的資料后解決了,現(xiàn)在將步驟方法分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • php運(yùn)行提示Can''t connect to MySQL server on ''localhost''的解決方法

    php運(yùn)行提示Can''t connect to MySQL server on ''localhost''的解決方法

    有些時(shí)候我們運(yùn)行php的時(shí)候,頁面提示Can't connect to MySQL server on 'localhost',那么就需要參考下面的方法來解決。
    2011-06-06
  • mysql查詢今天、昨天、近7天、近30天、本月、上一月的SQL語句

    mysql查詢今天、昨天、近7天、近30天、本月、上一月的SQL語句

    這篇文章主要介紹了mysql查詢今天、昨天、近7天、近30天、本月、上一月的SQL語句,一般在一些統(tǒng)計(jì)報(bào)表中比較常用這個(gè)時(shí)間段,需要的朋友可以參考下
    2014-06-06
  • MySQL8.0.28數(shù)據(jù)庫安裝和主從配置說明

    MySQL8.0.28數(shù)據(jù)庫安裝和主從配置說明

    這篇文章主要介紹了MySQL8.0.28數(shù)據(jù)庫安裝和主從配置說明,具有很好的參考價(jià)值,希望杜大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • redhat7通過yum安裝mysql5.7.17教程

    redhat7通過yum安裝mysql5.7.17教程

    這篇文章主要為大家詳細(xì)介紹了redhat7通過yum安裝mysql5.7.17教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 關(guān)于for update和lock in share mode的區(qū)別及說明

    關(guān)于for update和lock in share mode的區(qū)別及說明

    這篇文章主要介紹了關(guān)于for update和lock in share mode的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Mysql一主多從部署的實(shí)現(xiàn)步驟

    Mysql一主多從部署的實(shí)現(xiàn)步驟

    本文主要介紹了Mysql一主多從部署的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • navicat連接mysql報(bào)錯(cuò)1251的解決方法

    navicat連接mysql報(bào)錯(cuò)1251的解決方法

    這篇文章主要為大家詳細(xì)介紹了navicat連接mysql報(bào)錯(cuò)1251的解決方法,文中解決方法介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 一文讀懂MySQL?表分區(qū)

    一文讀懂MySQL?表分區(qū)

    MySQL自帶了分區(qū)功能,我們可以創(chuàng)建一個(gè)帶有分區(qū)的表,而且不需要借助任何外部工具,本文主要了介紹了MySQL表分區(qū),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下<BR>
    2022-03-03

最新評(píng)論