DBAtlas · 데이터베이스 운영 아틀라스

1075: Incorrect table definition; there can be only one auto column and it must be defined as a key (잘못된 테이블 정의. auto 컬럼은 하나만 가능하며 키로 정의해야 함)

MySQL

의미

AUTO_INCREMENT 규칙을 위반해 테이블 정의가 유효하지 않다. 테이블에는 자동 증가 컬럼이 하나만 있을 수 있으며, 그 컬럼은 키(PRIMARY KEY 또는 UNIQUE/인덱스)의 일부여야 한다.

원인

AUTO_INCREMENT 컬럼을 두 개 이상 정의했거나, AUTO_INCREMENT 컬럼을 어떤 키(인덱스)에도 포함하지 않은 경우다. CREATE TABLE 또는 ALTER TABLE 중에 발생한다.

해결 방법

AUTO_INCREMENT 컬럼을 하나만 두고 키의 일부로 만든다: CREATE TABLE t (id INT AUTO_INCREMENT PRIMARY KEY, ...); 기존 테이블을 수정하려면 먼저 컬럼을 키에 추가한다: ALTER TABLE t ADD PRIMARY KEY (id); 이후 AUTO_INCREMENT를 정의한다. auto 컬럼이 두 개 이상 필요하다면 설계를 재검토한다. MySQL은 이를 지원하지 않는다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목