установка UID поля MySQL как auto_increment

0

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

Теги:
mysql-error-1075

2 ответа

1
Лучший ответ

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

  • 0
    Это была моя проблема. Я удалил первичный ключ, который был установлен в 3 других таблицах ?! и это сработало. Спасибо!
1

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

  • 0
    Эта ошибка была из-за того, что я получил одно поле и собирался добавить UID. спасибо за отзыв.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню