开发者

Mysql reset auto_increment not for new ids but for all (also old ids)

Hi all is there any SQL function to reset all auto_increment ids?

I mean , i have this situation (id =1 , id2 = 2, id3 =3)

once i delete id i would like to be returned this situation (id2 = 1, id3 = 2) and so on.

Need i a script to开发者_如何学Go do that?


You can reset the AUTO_INCREMENT for the whole table:

ALTER TABLE table AUTO_INCREMENT=1;

But you cannot really go back to fill in values in individual rows that have been deleted. The auto_increment values are intended to be unique, but aren't guaranteed to remain sequential if deletions happen or new rows are inserted with an explicit value set for the auto_increment column.

If you needed to modify them to be sequential again, it would have to be done in code, probably looping over all rows and performing UPDATE statements individually.


Id is Id which means it must never change! At least in good database design. Id is something you are born with and you die with.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜