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

首頁 > 數據庫 > MySQL > 正文

在MySql中重新設置AUTOINCREMENT自增值方法

2024-07-24 12:35:27
字體:
來源:轉載
供稿:網友
  在mysql應用中AUTO_INCREMENT通常是設置為主自增id了,但有時我們會測試數據測試數據之后再使用delete刪除了數據AUTO_INCREMENT自增值會有空間了,那么我們要如何重新設置AUTO_INCREMENT自增值呢?下面來看看吧.
 
  一般來說,自增值主要是數據表主鍵或者具有唯一性的字段,在MySQL中可通過數據列的AUTO_INCREMENT屬性來自動生成.
 
  可在建表時使用“AUTO_INCREMENT=n”來指定一個自增的初始值,比如:
 
  CREATE TABLE test
  (
  id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
  username VARCHAR(15) NOT NULL
  )AUTO_INCREMENT = 100; --phpfensi.com
  此例建立一個TEST表,主鍵ID設置為自增,初始值為 100,當我們需要修改自增起始值時,可用 alter table table_name AUTO_INCREMENT=n 命令來重設.
 
  比如表 test 的ID最大值為150,但是因為某種原因導致自增值已經到了250,所以需要重設為151以便于下次ID從151開始往上增,語法如下:
 
  ALTER TABLE test AUTO_INCREMENT=151
 
  說明:
 
  1)如果把一個NULL插入到一個AUTO_INCREMENT數據列里去,MySQL將自動生成下一個序列編號。編號從1開始,并1為基數遞增。
 
  2)把0插入AUTO_INCREMENT數據列的效果與插入NULL值一樣。但不建議這樣做,還是以插入NULL值為好。
 
  3)當插入記錄時,沒有為AUTO_INCREMENT明確指定值,則等同插入NULL值。
 
  4)當插入記錄時,如果為AUTO_INCREMENT數據列明確指定了一個數值,則會出現兩種情況,情況一,如果插入的值與已有的編號重復,則會出現出錯信息,因為AUTO_INCREMENT數據列的值必須是唯一的;情況二,如果插入的值大于已編號的值,則會把該值插入到數據列中,并使在下一個編號將從這個新值開始遞增。也就是說,可以跳過一些編號。
 
  5)如果用UPDATE命令更新自增列,如果列值與已有的值重復,則會出錯,如果大于已有值,則下一個編號從該值開始遞增.
 
  如何修改Mysql的Auto_increment_increment全局變量,自增步長,先了解下查看全局變量的命令,以下命令都是登陸mysql后操作:
 
  #查看auto_inc開頭的全局變量,也就是auto_increment_increment和auto_increment_offset這2個變量
  mysql> SHOW VARIABLES LIKE 'auto_inc%';  
  設置全局變量
 
  方法一:#設置auto_increment_increment自增步長為n,也就是每插入一條數據,就加n,這個N必須是一個數字,默認是1
 
  mysql> SET @@auto_increment_increment=n;
 
  #設置auto_increment_offset自增開始數字為m,在新建表的自增熟悉時候,且表示空的,自增數字默認從m開始.
 
  mysql> SET @@auto_increment_offset=m;
 
  如果以上方法還不生效,或者重啟mysql后,又變回來了,那肯定是在my.cnf里面設置了全局變量,這個必須到配置文件里面去修改了,這種修改永久有效,而且無法通過上面的操作再次被修改.
 
  方法二:用vi編輯器打開配置文件,默認位置.
 
  #vi /etc/my.cnf
 
  找到 auto_increment_increment 變量設置的地方,VI里面可以用 "/auto_increment_increment" 找到.
 
  找到后設置 auto_increment_increment=1;即可
 
  其他全局變量也可在此配置文件里面永久設置好,配置文件修改好后,要重啟mysql服務才會生效.
 
  #/etc/init.d/mysql restart。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥芬河市| 封丘县| 岑溪市| 康保县| 台湾省| 黑山县| 杨浦区| 桐城市| 缙云县| 凤凰县| 柏乡县| 武鸣县| 乌海市| 当涂县| 琼海市| 阿勒泰市| 商都县| 曲周县| 嫩江县| 浮梁县| 浪卡子县| 新化县| 中方县| 宁德市| 蛟河市| 斗六市| 郁南县| 隆化县| 佛山市| 宜兰市| 且末县| 玉环县| 遂平县| 房产| 麻江县| 大城县| 杭锦旗| 伊宁市| 武隆县| 长子县| 古丈县|