2013-03-28 97 views
1

是否可以禁用自動增量,以便我可以重新編號字段與AI?重新編號字段禁用自動增量

我想這一點,但它似乎沒有正常工作:

ALTER TABLE `x`.`billadr` 
CHANGE COLUMN `AutoInc` `AutoInc` 
INT(11) NOT NULL ; 
+1

爲什麼你想不用AI重新編號? –

+0

我想控制客戶重新編號的方式。 – user2132252

+0

即使列是auto_increment,您仍然可以指定該列的值 –

回答

4

這是你在找什麼?

ALTER TABLE `x`.`billadr` AUTO_INCREMENT = 1234; 

如果你想刪除AUTO_INCREMENT然後就重新定義列沒有它:

ALTER TABLE `x`.`billadr` CHANGE `AutoInc` `AutoInc` INT(11) NOT NULL 

否則,創建一個新的,複製/根據需要重新編號。

+0

所以我可以設置自動增量開始的位置? – user2132252

+0

@ user2132252是,但*「您不能將計數器重置爲小於或等於任何已使用的值」*([documentation](http://dev.mysql.com/doc/refman/5.0/) en/alter-table.html)) – Kermit

+0

我會在這裏留下:不知何故,我的'auto_increment'卡在18446744073709551615(2^63-1),'AUTO_INCREMENT = N'查詢不會改變這個。如圖所示從PK列中刪除auto_increment屬性,然後再次添加它修復它。 – zneak