2015-07-21 112 views
0
ALTER TABLE `clinic1`.`patients` 
CHANGE COLUMN `Patient_Id` `Patient_Id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '' , 
ADD UNIQUE INDEX `Patient_Id_UNIQUE` (`Patient_Id` ASC) COMMENT ''; 

錯誤1064:您的SQL語法錯誤;檢查對應於你的MySQL服務器版本的在線使用近「註釋‘’」正確的語法手冊3無法主鍵/唯一鍵/自動遞增加入此列

SQL語句:

ALTER TABLE `clinic1`.`patients` 
CHANGE COLUMN `Patient_Id` `Patient_Id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '' , 
ADD UNIQUE INDEX `Patient_Id_UNIQUE` (`Patient_Id` ASC) COMMENT '' 

無法添加主鍵/唯一鍵/自動增量此列

是否嘗試過他們中的每一個單獨

不工作

+0

***查看與您的MySQL服務器版本對應的手冊,查看正確的語法*** - 好吧,是嗎? –

回答

0

首先刪除現有列

ALTER TABLE clinic1 MODIFY Patient_Id int(10), drop primary key; 

然後修改現有列或新列上的主鍵,使之成爲主鍵

ALTER TABLE test MODIFY Patient_Id int(10) unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT comment '', 
ADD UNIQUE INDEX `Patient_Id_UNIQUE` (`Patient_Id` ASC) COMMENT ''; 
0

只能有1自動遞增列在表它應該是主鍵。 確保您的表沒有其他主鍵或自動遞增鍵,如果它刪除它然後再試一次。

+0

謝謝,但事實如此。我只有一個主鍵和一個自動增量。我認爲問題在於評論。它們是在工作臺中自動生成的。我重寫了沒有他們的查詢,它的工作。 但仍然自動增量不工作,因爲它應該 它從任何地方感覺開始 N不注意最後輸入的值 –

+0

是自動增量生成一個隨機值還是從某個點開始? –

+0

從某一點開始。不應該從它應該在的地方。 –