Mysql如何使自增欄位重新計算?

2021-09-21 07:47:39 字數 787 閱讀 4861

在實際開發的過程中,我們為了方便,也為了設定主鍵和索引方便,通常會設定id為自動型別,即自動增長型別。

這一點非常常見,是乙個新手必學的知識,在所有資料(access\sql server\mysql\sqlite\oracle)等資料庫中這一潛規則被廣泛的應用。但礙於篇幅所限,本文著重講述mysql。

該欄位詳細記錄了該列的唯一恆定值,也因此,我們刪除該列之後,該列的字段值也就永遠的失去了,包括這個自增的。

也是就說,假設資料庫中有1-100的id值,假如我們刪除了99.那麼資料庫中就是97-98-100.

即沒有了99.

即使你全部清空資料表也依然如此、這在某些時候給我們造成了極大的不方便。

如何才能讓這個字段自動從1開始自動遞增呢?

1 清空所有資料,將自增去掉,存檔,在加上自增,存檔,就從1開始了

2 truncate table 你的表名

這樣不但將清除資料,而且可以重新位置identity屬性的字段

看到這裡有的童鞋就要罵了,說資料都清空了我都不能刪掉表再建嗎?還用你說?

實際上這也是一種方法。

但接下來我要說的才是重中之重,即如果保留原有資料?

方法如下:

1,我們在執行truncate之前,先進入mysql管理工具(如phpmyadmin等),匯出資料為sql格式。

2。執行truncate table 你的表名

3,再進入mysql管理工具(如phpmyadmin等),匯入資料。

然後你再開啟,怎麼樣?是不是完美的實現了你的要求?

有這方面需求的童鞋,趕緊去看看吧!

MySQL 重新設定自增字段

使用工具 初始設定自增從9527開始 create table poem id bigint 20 unsigned notnull auto increment comment 主鍵 title varchar 16 not null comment 詩詞標題 content varchar 25...

mysql 自增字段原理 MySQL自增字段暴增

找了點資料 從網上看到一篇文章,mysql在檢測到表中有損壞的記錄時,會自動修復,為了保證資料的完整性,mysql會以空格 0x20 寫進磁碟來完成修復。根據欄位的型別,自增字段的長度不同,所允許的最大值也不同。見下 int 10 unsigned型別最大值十進位制為4294967295,十六進製制...

Mysql自增字段

1.關鍵字 auto increment 2.自增用法 例 create table animals id mediumint not null auto increment,name char 30 not null,primary key id 3.關於自增 q 怎麼獲得當前的自增的最大值?q ...