установка UID поля MySQL как auto_increment - PullRequest
0 голосов
/ 13 января 2011

По какой-то причине я продолжаю получать следующую ошибку, когда пытаюсь установить свой 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 ]

1 голос
/ 13 января 2011

Вы не добавляете таблицу, но меняете ее. Новая спецификация вступает в конфликт с тем, что существует в схеме, вы можете сделать show table и опубликовать ее здесь, чтобы мы могли ее увидеть.

1 голос
/ 13 января 2011

Вам необходимо добавить ограничение PRIMARY KEY в ваш новый столбец. Кстати, это может означать удаление этого ограничения из любого старого столбца, который изначально был AUTO_INCREMENT.

...