将MySQL字段uid设置为auto_increment

时间:2011-01-13 01:17:50

标签: mysql sql mysql-error-1075

由于某些原因,当我尝试将我的uid设置为auto_increment时,我不断收到以下错误。我正在使用phpMyAdmin。

Error

SQL query:

ALTER TABLE `ITEMS` ADD `uid` INT( 2 ) NOT NULL AUTO_INCREMENT FIRST ,
ADD `name` VARCHAR( 100 ) NOT NULL AFTER `uid` ,
ADD `status` VARCHAR( 100 ) NOT NULL AFTER `name`

MySQL said: Documentation
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key 

我的数据库中有一些其他表最初的索引为auto_increment,但我将所有这些列都更改为uid varchar。但现在我正在添加一个名为ITEMS的表,我希望uid成为“主”键,我可以将其用作所有其他表的参考点。

2 个答案:

答案 0 :(得分:1)

您需要将PRIMARY KEY约束添加到新列。顺便说一句,这可能意味着从最初为AUTO_INCREMENT的旧列中删除该约束。

答案 1 :(得分:1)

您不是在添加表格,而是在更改表格。新规范与模式中存在的内容相冲突,您可以在此处显示表格并将其发布给我们以供查看。