2017-05-04 42 views
0

我的一個MySQL表中的ID實際上是從34567(34568,34569,34570 ...)開始的。MySQL;如何重置ID和設置新的,開始於

如何重置所有這些ID並將123設置爲起始值:123,124,125,126 ...?

或者有沒有辦法讓每一個ID -3444434567-34444=123


P.S. ALTER TABLE table_name AUTO_INCREMENT = 124;不是我要找的。

+2

不要亂用自動增量。你爲什麼想要這樣做? –

+0

身份證只是身份證,不要擔心他們的價值。 – jarlh

回答

1

正如其他人所說,你可能不應該擔心ID的價值。根據定義,它們不應該有任何真正的意義。

說了這麼多,你應該能夠只更新它們,就像任何其他列:

update table_name 
set id = id - 34444 

然後,您可以重新開始AUTO_INCREMENT值,以便插入下一行有一個順序編號:

ALTER TABLE table_name AUTO_INCREMENT = <whatever the maximum id is + 1>; 

請注意,這樣做會重建表,因此如果它有很多行可能需要一段時間。

+0

非常感謝。第一個代碼就是我在找的東西。 (這太不可思議了,爲什麼我沒有這個想法?)我知道ID不應該手動更改。 – David

0

這是你在找什麼:

select (id-34444) as id from your_table; 
0

如果您已刪除所有表中的記錄,你想從123開始的自增字段,然後使用以下命令:

ALTER TABLE table_name AUTO_INCREMENT=123; 
相關問題