2015-07-21 108 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

从某一点开始。不应该从它应该在的地方。 –