2017-12-16 15 views
1

post_id이라는 기본 자동 증가가있는 테이블이 있습니다. 다른 열도 마찬가지로 tag_idtag_name입니다.MYSQL은 열 입력 값에 따라 여러 자동 증분을 추적 할 수 있습니까?

현재이 테이블에 삽입 할 때마다 post_id은 자동으로 증가합니다. 그러나 내가하고 싶은 것은 또한 에 따라 자동 증가 tag_id입니다. tag_name이 예를 들어 "A"이면 tag_id1이어야합니다. 다음 삽입, tag_name은 "A"이고 tag_id는 2입니다. 그러나 다음 삽입 인 tag_name은 "B"이고 tag_id은 이제 1입니다.

답변

1

MyISAM과 InnoDB는 모두 테이블 당 하나의 자동 증가 만 지원합니다.

경쟁 조건으로 인해 동시 업데이트를 지원하는 저장소 엔진에서 그룹 별 자동 증가 관리 기능을 관리 할 수 ​​없습니다.

MyISAM은 auto-increment as a secondary column of a key을 지원하므로 동일한 키의 첫 번째 열에있는 값마다 독립적으로 숫자가 지정됩니다. 하지만 MyISAM은 테이블 당 두 개의 자동 열을 지원하지 않기 때문에 여전히 작동하지 않습니다.

mysql> create table MyTable (
    -> post_id int auto_increment primary key, 
    -> tag_name varchar(10), 
    -> tag_id int auto_increment, 
    -> unique key (tag_name, tag_id) 
    ->) engine=myisam; 
ERROR 1075 (42000): Incorrect table definition; there can be only one 
auto column and it must be defined as a key 

tag_id에 수동으로 번호를 매겨 야합니다. 즉,이 테이블에 대한 동시 업데이트를 지원할 수 없습니다.

IMO, 당신은 당신이하려는 것을 다시 생각해야합니다.

+0

고마워요! 예, 디자인을 다시 생각하고 다시했습니다. – Mike5050