2017-01-03 28 views
1

自動增量這是我使用的代碼:添加主鍵即開始與1001

ALTER TABLE `event_all_copy` 
ADD `id` INT(5) AUTO_INCREMENT = 1001 PRIMARY KEY; 

我收到以下錯誤:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AUTO INCREMENT = 1001 PRIMARY KEY' at line 1

代碼將會運行得很好,如果我離開關閉AUTO_INCREMENT = 1001。如果我添加id然後改變它:

ALTER TABLE event_all_copy AUTO_INCREMENT = 1001; 

它不會改變現有的值。

+0

如果id的值有超出數據庫範圍的任何含義,請不要使用自動增量。 – Strawberry

回答

0

您需要更改表告訴它從1000開始:

ALTER TABLE `event_all_copy` AUTO_INCREMENT = 1000; 

所以您的查詢將是:

ALTER TABLE `event_all_copy` ADD `id` INT(5) PRIMARY KEY; 
ALTER TABLE `event_all_copy` AUTO_INCREMENT = 1000; 

ADD中不能有AUTO_INCREMENT值RY。這兩個查詢應該是兩個單獨的查詢。要改變現有的值,這很容易。你可以這樣做:

UPDATE `event_all_copy` SET `id` = `id` + 1000; 

AUTO_INCREMENT更新值將只對新進入的記錄進行設置。

+0

如果我在ADD查詢中沒有AUTO_INCREMENT,那麼我得到一個錯誤,因爲所有的值都是0或NULL(重複,無論如何)。你的更新代碼非常棒!沒有想到這一點。謝謝!! – AVD

+0

@AVD太好了。很高興幫助你... –

0

定義表的結構後,試試這個:

ALTER TABLE tablename AUTO_INCREMENT = 1000;