다중 열 기본 키에 자동 증가 사용
데이터베이스 전체에서 데이터 무결성을 유지하는 것이 어려울 수 있습니다. 두 개의 열을 복합 기본 키로 활용하면 각 행의 고유성을 보장할 수 있습니다. 그러나 열 중 하나를 자동 증가시킬 때 행의 고유 식별을 관리하는 방법을 고려하는 것이 중요합니다.
MyISAM에서 AUTO_INCREMENT를 사용
MyISAM 스토리지 엔진을 사용하면 다중 열 인덱스의 기본 열이 아닌 열에 AUTO_INCREMENT를 지정합니다. 자동 증가 값은 주어진 접두사가 일치하는 MAX(auto_increment_column) 1로 계산됩니다. 이는 데이터를 순서가 지정된 그룹으로 구성할 때 특히 유용합니다.
사용 예:
CREATE TABLE animals ( grp ENUM('fish','mammal','bird') NOT NULL, id MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL, PRIMARY KEY (grp,id) ) ENGINE=MyISAM;
이 예에서 id는 grp 값을 기준으로 자동 증가됩니다. .
지원 예:
특정 요구 사항에 따라 다음 테이블 구조를 생성할 수 있습니다.
CREATE TABLE mytable ( table_id MEDIUMINT NOT NULL AUTO_INCREMENT, database_id MEDIUMINT NOT NULL, other_column CHAR(30) NOT NULL, PRIMARY KEY (database_id,table_id) ) ENGINE=MyISAM;
예시 데이터 및 결과:
INSERT INTO mytable (database_id, other_column) VALUES (1,'Foo'),(1,'Bar'),(2,'Baz'),(1,'Bam'),(2,'Zam'),(3,'Zoo');
SELECT * FROM mytable ORDER BY database_id,table_id; +----------+-------------+--------------+ | table_id | database_id | other_column | +----------+-------------+--------------+ | 1 | 1 | Foo | | 2 | 1 | Bar | | 3 | 1 | Bam | | 1 | 2 | Baz | | 2 | 2 | Zam | | 1 | 3 | Zoo | +----------+-------------+--------------+
보시다시피 table_id는 각 고유한 데이터베이스 ID에 대해 자동으로 증가됩니다. 이렇게 하면 각 행의 고유성과 데이터베이스_ID를 기반으로 행의 정렬된 그룹화가 보장됩니다.
위 내용은 다중 열 기본 키에서 열을 자동 증가시키려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!