집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 자동 증가를 유지하면서 다른 열을 기본 키로 사용하려면 어떻게 해야 합니까?
MySQL에서 자동 증가를 유지하고 다른 열을 기본 키로 사용
MySQL에서 자동 증가 열이 있는 테이블을 생성할 때 , 기본 동작은 해당 열이 기본 키가 되는 것입니다. 그러나 쿼리가 주로 다른 열을 사용하여 행을 식별하는 경우 이 동작은 성능 문제로 이어질 수 있습니다.
다음 시나리오를 고려하십시오. 자동 증가 기본 키로 id라는 열과 id라는 열이 있는 테이블을 생성합니다. 회원을 식별하기 위해 쿼리에 사용되는 고유한 memberid입니다. 이 경우 성능상의 이유로 memberid를 기본 키로 사용하는 것이 이상적이지만 그렇게 하면 오류가 발생합니다.
1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
이 문제를 해결하기 위한 가장 좋은 해결책은 id 열을 유지하는 것입니다. memberid를 기본 키로 정의하면서 자동 증가 기능을 유지합니다. 이는 아래와 같이 id 열에 인덱스(키)를 생성하여 달성할 수 있습니다.
CREATE TABLE members ( id int(11) UNSIGNED NOT NULL AUTO_INCREMENT, memberid VARCHAR( 30 ) NOT NULL , `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , firstname VARCHAR( 50 ) NULL , lastname VARCHAR( 50 ) NULL , PRIMARY KEY (memberid) , KEY (id) --- or: UNIQUE KEY (id) ) ENGINE = MYISAM;
이 접근 방식을 사용하면 memberid를 기본으로 사용하면서 성능 목적으로 자동 증가 열을 유지할 수 있습니다. 효율적인 쿼리를 위한 핵심입니다.
위 내용은 MySQL에서 자동 증가를 유지하면서 다른 열을 기본 키로 사용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!