MySQL의 InnoDB 스토리지 엔진에서 기본 키는 일반적으로 자동 증가됩니다. 그러나 기본 키가 아닌 키도 자동 증가할 수 있습니다.
데이터베이스 스키마에는 "book_comments" 및 "book_comments_votes"라는 두 개의 테이블이 포함되어 있습니다. "book_comments" 테이블에는 기본 키로 "comment_id"에 대한 참조를 포함하는 "book_comments_votes" 테이블과의 일관성을 위해 자동으로 증가해야 하는 기본 키가 아닌 열 "comment_id"가 있습니다.
기본이 아닌 키를 자동 증가시키려면 인덱스로 선언해야 합니다. 예는 다음과 같습니다.
<code class="mysql">CREATE TABLE `book_comments` ( `book_id` MEDIUMINT NOT NULL, `timestamp` MEDIUMINT NOT NULL, `user_id` MEDIUMINT NOT NULL, `vote_up` SMALLINT, `vote_down` SMALLINT, `comment` TEXT, `comment_id` MEDIUMINT NOT NULL AUTO_INCREMENT, PRIMARY KEY (`book_id`, `timestamp`, `user_id`), KEY `comment_id` (`comment_id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;</code>
기본이 아닌 키에 간단한 인덱스를 만드는 것이 가장 간단한 솔루션이지만 몇 가지 대안도 있습니다.
그러나 기본이 아닌 키에 고유 인덱스를 생성하고 대안의 단점을 피하는 것이 권장되는 솔루션입니다. 이 접근 방식은 성능이나 데이터 스토리지 효율성을 저하시키지 않으면서 단순성과 무결성을 모두 제공합니다.
위 내용은 MySQL InnoDB에서 기본이 아닌 키를 자동 증가시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!