最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)文件來(lái)指定,而通過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)文件來(lái)指定,當(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的值被忽略。

了解如何查看及其含義以后,剩下的就是如何修改這些變量的值了,修改也非常簡(jiǎn)單,語(yǔ)句格式如下:
set auto_increment_increment=10
就這么簡(jiǎn)單就把變量auto_increment_increment的值設(shè)置成了10
—————————————————————————————————————
補(bǔ)充一個(gè)看似簡(jiǎn)單但又不是很簡(jiǎn)單的問題
問:如果有一張表,里面有個(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如何獲取相鄰數(shù)據(jù)

    MySql如何獲取相鄰數(shù)據(jù)

    這篇文章主要介紹了MySql如何獲取相鄰數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • php 不能連接數(shù)據(jù)庫(kù) php error Can''t connect to local MySQL server

    php 不能連接數(shù)據(jù)庫(kù) php error Can''t connect to local MySQL server

    php 不能連接數(shù)據(jù)庫(kù) php error Can't connect to local MySQL server through socket '/tmp/mysql.sock'
    2011-05-05
  • jdbc調(diào)用mysql存儲(chǔ)過程實(shí)現(xiàn)代碼

    jdbc調(diào)用mysql存儲(chǔ)過程實(shí)現(xiàn)代碼

    接下來(lái)將介紹下mysql存儲(chǔ)過程的創(chuàng)建及調(diào)用,調(diào)用時(shí)涉及到j(luò)dbc的知識(shí),不熟悉的朋友還要溫習(xí)下jdbc哦,話不多說看代碼,希望可以幫助到你
    2013-03-03
  • MySQL合并查詢結(jié)果的實(shí)現(xiàn)

    MySQL合并查詢結(jié)果的實(shí)現(xiàn)

    本文主要介紹了MySQL合并查詢結(jié)果的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • MySQL多表查詢的案例詳解

    MySQL多表查詢的案例詳解

    這篇文章主要介紹了MySQL多表查詢的案例說明,包括多表查詢的分類及umion的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Mysql中如何批量替換某個(gè)字段的值:replace

    Mysql中如何批量替換某個(gè)字段的值:replace

    這篇文章主要介紹了Mysql中如何批量替換某個(gè)字段的值:replace,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Mysql?innoDB修改自增id起始數(shù)的方法步驟

    Mysql?innoDB修改自增id起始數(shù)的方法步驟

    本文主要介紹了Mysql?innoDB修改自增id起始數(shù)的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2023-03-03
  • MySQL最新版8.1.0版本部署和新特性詳解

    MySQL最新版8.1.0版本部署和新特性詳解

    MySQL8.1的應(yīng)該來(lái)說是8.0版本的bug修復(fù),這是 MySQL 變更發(fā)版模型后的第一個(gè)創(chuàng)新版本,本文給大家介紹了MySQL最新版8.1.0版本部署和新特性,需要的朋友可以參考下
    2023-11-11
  • Mysql中TIMESTAMPDIFF函數(shù)的語(yǔ)法與練習(xí)案例

    Mysql中TIMESTAMPDIFF函數(shù)的語(yǔ)法與練習(xí)案例

    在應(yīng)用時(shí)經(jīng)常要使用這兩個(gè)函數(shù)TIMESTAMPDIFF和TIMESTAMPADD,下面這篇文章主要給大家介紹了關(guān)于Mysql中TIMESTAMPDIFF函數(shù)的語(yǔ)法與練習(xí)案例的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Redis與MySQL如何保證雙寫一致性詳解

    Redis與MySQL如何保證雙寫一致性詳解

    雙寫一致性指的是當(dāng)我們更新了數(shù)據(jù)庫(kù)的數(shù)據(jù)之后redis中的數(shù)據(jù)?也要同步去更新,本文主要給大家詳細(xì)介紹了Redis與MySQL雙寫一致性如何保證,需要的朋友可以參考下
    2023-09-09

最新評(píng)論

浦城县| 衡山县| 车致| 汝州市| 平武县| 阜宁县| 八宿县| 武威市| 松原市| 常熟市| 黑河市| 南城县| 杭锦旗| 神池县| 五大连池市| 三台县| 合肥市| 凤山县| 商洛市| 明溪县| 宜川县| 辽宁省| 桓台县| 高青县| 昌宁县| 宣威市| 仙游县| 抚顺县| 五寨县| 新民市| 长岭县| 西城区| 泽库县| 南汇区| 四川省| 高淳县| 乐都县| 新沂市| 宁明县| 张家口市| 东海县|