집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 그룹별 자동 증가를 구현하는 방법은 무엇입니까?
MySQL에서 그룹별 자동 증가
MySQL은 그룹화 열을 기반으로 필드 값을 자동으로 증가시키는 편리한 방법을 제공합니다. 이는 각 그룹 내에서 레코드를 그룹화하고 번호를 매겨야 하는 시나리오에서 특히 유용합니다.
MyISAM 및 BDB 테이블의 경우
MyISAM 및 BDB 테이블의 경우 자동 증가 보조 키 부분으로 정의할 수 있습니다. 예를 들어 다음 테이블 구조를 고려해 보세요.
CREATE TABLE foo ( id INT AUTO_INCREMENT NOT NULL, group_field INT NOT NULL, name VARCHAR(128), PRIMARY KEY(group_field, id) );
이 구조에서 id 필드는 자동 증가로 정의되지만 group_field와 함께 기본 키의 일부이기도 합니다. MySQL 문서에 따르면:
In this case, the generated value for the AUTO_INCREMENT column is calculated as MAX(auto_increment_column) + 1 WHERE prefix=given-prefix. This is useful when you want to put data into ordered groups.
예
위에서 생성된 foo 테이블을 사용하여 몇 가지 샘플 데이터를 삽입해 보겠습니다.
INSERT INTO foo (group_field, name) VALUES (1, 'test'), (1, 'test2'), (2, 'test3'), (2, 'test4'), (3, 'test5'), (3, 'test6');
데이터를 삽입한 후 foo 테이블의 내용은 다음과 같습니다.
+----+-----------+------+ | id | group_field | name | +----+-----------+------+ | 1 | 1 | test | | 2 | 1 | test2 | | 3 | 2 | test3 | | 4 | 2 | test4 | | 5 | 3 | test5 | | 6 | 3 | test6 | +----+-----------+------+
보시다시피 id 열은 group_field 값을 기반으로 각 그룹 내에서 자동으로 증가되었습니다.
위 내용은 MySQL에서 그룹별 자동 증가를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!