1、清空表,恢復(fù)到初始值:
成都創(chuàng)新互聯(lián)從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元泗縣做網(wǎng)站,已為上家服務(wù),為泗縣各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
2、修改為任意值:
上述語句中,table_name為表名,15為要修改的值,這樣下次插入的數(shù)據(jù)的自增列的值就是15。
若修改的值與現(xiàn)有數(shù)據(jù)沖突,會自動修改為當前最大值+1。
如圖所示,修改自增列id為11,雖然顯示修改成功,但是id=11已經(jīng)是現(xiàn)有值,再插入時會自動把自增列的值變?yōu)楫斍白畲笾?14)加1,也就是15
alter table questionlib modify id?int(11) auto_increment;
注意事項:
修改后從下一條記錄開始自動增長。如果想讓原來的自動增長就得復(fù)制現(xiàn)有表的結(jié)構(gòu)(無id),添加id并加上AUTO_INCREMENT,然后通過循環(huán),添加n條空記錄,然后對應(yīng)先前表的id,依次插入數(shù)據(jù)。
擴展資料:
mysql自動增長開始值設(shè)置總結(jié)
1、創(chuàng)建表,設(shè)置表主鍵id自動增長,默認自動增長的起始值為1開始。
2、當表數(shù)據(jù)不為空的時候,重新去修改自動增長id開始值,mysql會主動去核對你設(shè)置的起始值是否是當前數(shù)據(jù)庫已有id的最大值+1; 若是則修改成功,若不是則修改不成功 (默認還是id最大值+1)
3、要設(shè)置自動增長為1開始,需要清空表數(shù)據(jù)才行。alter table table_name AUTO_INCREMENT=1
4、若每次直接在數(shù)據(jù)庫里面插入數(shù)據(jù),則會自動的去修改當前表的自動增長起始值(設(shè)置自動增長起始值為當前插入成功的數(shù)據(jù)的id)
兩種方法修改或者重置mysql中的自增字段的值:autoIncrement;
其中方法二可以修改成任意值。
設(shè)置自增列
MYSQL的自增列一定要是有索引的列,設(shè)置種子值要在表的后面設(shè)置
--mysql
-- 設(shè)置自增ID從N開始
CREATE TABLE empautoinc(
ID INT PRIMARY KEY AUTO_INCREMENT
) AUTO_INCREMENT = 100 ; --(設(shè)置自增ID從100開始)
insert into empautoinc(id) values(null);
Query OK, 1 row affected (0.00 sec)
mysql select * from empautoinc;
+-----+
| ID |
+-----+
| 100 |
+-----+
1 row in set (0.00 sec)
show table status like 'empautoinc'G;
*************************** 1. row ***************************
Name: empautoinc
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 1
Avg_row_length: 16384
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: 101
Create_time: 2016-10-27 01:50:32
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
設(shè)置自增列的步長,可以分為全局級別和會話級別
如果是會話級別,那么當用戶新建一個會話的時候,那么步長又回到了全局級別,所以mysql的步長跟sqlserver的步長有很大的不同
mysql不能設(shè)置為 表級別 的步長
私信666領(lǐng)取資料