MySQL InnoDB: 비기본 키 자동 증가
MySQL InnoDB에서는 비기본 키 자동 증가가 가능합니다. 열이지만 일반적으로 그렇게 하는 것은 권장되지 않습니다.
질문:
기본이 아닌 키, 특히 book_comments의 comment_id 열을 자동으로 증가시킬 수 있습니까? table?
대안:
질문자는 자동 증가 비기본 키를 사용하는 것에 대한 두 가지 대안을 제안합니다.
그러나 , 이러한 대안에는 불필요한 인덱스 오버헤드를 추가하거나 테이블 크기를 크게 늘리는 등의 단점이 있습니다.
답변:
예, 기본이 아닌 인덱스를 자동으로 증가시키는 것이 가능합니다. 해당 열에 인덱스를 생성하여 키를 생성합니다. 다음 예에서는 자동 증가 testInc 열이 있는 테이블을 생성합니다.
<code class="sql">CREATE TABLE `test` ( `testID` int(11) NOT NULL, `string` varchar(45) DEFAULT NULL, `testInc` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`testID`), KEY `testInc` (`testInc`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;</code>
그러나 전문가들은 이러한 관행을 강력히 권고합니다. 보다 적절한 접근 방식은 comment_id를 기본 키로 만들고 (book_id, timestamp, user_id)의 고유 인덱스를 통해 무결성을 강화하는 것입니다. 이 접근 방식은 테이블에 대한 적절한 기본 키를 제공하고 최소 놀라움의 원칙을 준수합니다.
위 내용은 MySQL InnoDB에서 기본이 아닌 키를 자동 증가시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!