2011-01-13 6 views
0

내 uid를 auto_increment로 설정할 때 다음과 같은 오류가 계속 발생합니다. phpMyAdmin을 사용하고 있습니다. MySQL 필드 uid를 auto_increment로 설정

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가 다른 모든 테이블에 대한 참조 포인트로 사용할 수있는 "마스터"키가되기를 바랍니다.

답변

1

새 열에 PRIMARY KEY 제약 조건을 추가해야합니다. BTW, 원래 AUTO_INCREMENT 있던 이전 열에서 해당 제약 조건을 제거하는 의미 일 수 있습니다.

+0

이것은 제 문제였습니다. 나는 3 개의 다른 테이블에 설정된 기본 키를 삭제 했습니까? 그리고 그것은 효과가있었습니다. 감사! – Denoteone

1

테이블을 추가하는 것이 아니라 변경할 수 있습니다. 새로운 사양은 스키마에 존재하는 것과 충돌합니다. show table을 사용하고 여기에 게시하여 게시 할 수 있습니다.

+0

그 오류는 내가 필드를 하나 들여서 uid를 추가하려고했기 때문입니다. 의견에 감사드립니다. – Denoteone