mysql auto_increment自增初始值与步长
MySQl自增列起始與步長(zhǎng)
自增初始值
一、alter的使用
默認(rèn)初始值為1 步長(zhǎng)為1的情況
1、建表
2、插入數(shù)據(jù)
當(dāng)插入數(shù)據(jù)可以看到步長(zhǎng)為1,起始值為1
3.增加一列數(shù)據(jù)時(shí)
默認(rèn)在加上步長(zhǎng)
4.刪除后在原表后增加一列數(shù)據(jù)的情況
原表數(shù)據(jù)剔除后依舊在原基礎(chǔ)上遞增,這里和delete from 有關(guān)
5.修改auto_increment后,插入一行數(shù)據(jù)后,原表遞增情況
alter table 表名 auto_Increment=n;
(1)、未改變:原表內(nèi)有一行數(shù)據(jù) auto_increment修改 初始值依舊為1,步長(zhǎng)為1
(2)當(dāng)原表內(nèi)無數(shù)據(jù)時(shí),auto_Increment alter后會(huì)發(fā)生改變
初始值為設(shè)定值,步長(zhǎng)依舊為1
a、使用delete from 刪除時(shí)
b、使用truncate table use 刪除時(shí)
二、在新建表時(shí)設(shè)定auto_increment
(1)、建表時(shí)設(shè)定auto_increment 的值初始值可變,步長(zhǎng)不變
步長(zhǎng)
自增步長(zhǎng)
基于會(huì)話級(jí)別:
show session variables like 'auto_inc%"; --查看會(huì)話步長(zhǎng)
set session auto_increment_increment=4;
這里新建了一個(gè)初始值為1的值,通過set sessionauto_increment_increment 步
set session auto_increment_offset=2; --設(shè)置自增起始值為2;
通過truncate table user_set 后重新設(shè)定起始值
可以看到這里起始值變成了2(由于上面設(shè)定了auto_increment_Increment的值,當(dāng)前窗口口未結(jié)束,故步長(zhǎng)還是為4)
基于全局級(jí)別
show global variables like 'auto_inc%"; --查看全局步長(zhǎng)
set global auto_increment_increment=3; --設(shè)置全局步長(zhǎng)為3 (關(guān)閉會(huì)話,再進(jìn)行數(shù)據(jù)庫操作不恢復(fù)到默認(rèn)值)
set global auto_increment_offset=2; --設(shè)置自增起始值為2;
總結(jié):
設(shè)定自增初始值:
alter table 表名 auto_Increment=n 通過alter方法設(shè)定初始值
如果原表有數(shù)據(jù)則自增初始值設(shè)定不生效
如果原表無數(shù)據(jù),或者delete、truncate了則alter設(shè)定依舊生效,步長(zhǎng)某人為1
建表時(shí)設(shè)定auto_increment=某值 即可設(shè)定初始值
注意delete from 表格后,自增初始值會(huì)緊跟上次數(shù)
使用truncate table 表格 則不會(huì)
通過set session auto_increment_Increment =某值,可以改變?cè)摯翱跁?huì)話下的初始值,同樣注意是否原數(shù)據(jù),以及刪除方式delete 與truncate的區(qū)別
set global auto_increment_increment= 某值 ,改變?nèi)植介L(zhǎng),步推薦
設(shè)定自增步長(zhǎng):
set session auto_increment_increment=4;
set global auto_increment_increment=3; --設(shè)置全局步長(zhǎng)為3 (關(guān)閉會(huì)話,再進(jìn)行數(shù)據(jù)庫操作不恢復(fù)到默認(rèn)值)
總結(jié)
以上是生活随笔為你收集整理的mysql auto_increment自增初始值与步长的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库代码写法
- 下一篇: JavaScript常用函数之Eval(