> 데이터 베이스 > MySQL 튜토리얼 > MySQL에서 다중 열 자동 증가 기본 키를 구현하는 방법은 무엇입니까?

MySQL에서 다중 열 자동 증가 기본 키를 구현하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-11 10:43:10
원래의
653명이 탐색했습니다.

How to Implement a Multiple-Column Auto-Increment Primary Key in MySQL?

보조 열의 자동 증가와 함께 다중 열 자동 증가 기본 키 사용

공유 구조가 있는 데이터베이스에서 데이터 무결성을 유지하는 방법은 다음과 같습니다. 중대한. 전략의 일환으로 두 개의 열을 공동 기본 키로 사용하는 것을 고려하고 있습니다. 하나는 데이터베이스 식별자이고 다른 하나는 테이블 키입니다. 그러나 데이터베이스 식별자에 따라 테이블 키를 자동 증가하도록 설정하려고 합니다.

MySQL의 경우 사용 중인 스토리지 엔진에 따라 옵션이 있습니다. MyISAM을 사용하는 경우 다중 열 인덱스의 보조 열에 AUTO_INCREMENT를 지정하는 기능을 활용할 수 있습니다.

이 작동 방식을 이해하려면 다음 예를 고려하세요.

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;
로그인 후 복사

이 테이블에서 grp 및 id 열은 복합 기본 키를 형성합니다. 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');
로그인 후 복사

쿼리하는 중 table:

SELECT * FROM mytable ORDER BY database_id,table_id;
로그인 후 복사

이렇게 하면 각 그룹에 대해 자동으로 증가된 table_id 값과 함께 Database_id별로 그룹화된 결과가 반환됩니다.

위 내용은 MySQL에서 다중 열 자동 증가 기본 키를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿