복붙노트

[SQL] 화합물 키 행 그룹당 시리얼 번호

SQL

화합물 키 행 그룹당 시리얼 번호

나는 주소 이력 테이블을 유지하기 위해 노력하고 있습니다 :

CREATE TABLE address_history (
    person_id int, 
    sequence int,
    timestamp datetime default current_timestamp,
    address text,
    original_address text,
    previous_address text,
    PRIMARY KEY(person_id, sequence),
    FOREIGN KEY(person_id) REFERENCES people.id
);

일련 번호 / 구속 순서 address_history에 자동으로 각 person_id로 1로부터 계산하는 쉬운 방법이 있는지 궁금하네요.

즉, person_id로 = 1 인 첫 번째 행 시퀀스 = 1을 얻을 것; person_id로 = 1 번째 행 다시 시퀀스 = 1을 얻을 것이다 person_id로 순서 = 2 = 2의 첫 번째 행을 얻을 것이다. 기타. 또한,이 더 나은 / 내장이 같은 기록을 유지 관리하는 방법은?

해결법

  1. ==============================

    1.하지 마십시오. 그것은 여러 번 시도되고있어 고통입니다.

    하지 마십시오. 그것은 여러 번 시도되고있어 고통입니다.

    일반 시리얼 열을 사용 :

  2. from https://stackoverflow.com/questions/24918552/serial-numbers-per-group-of-rows-for-compound-key by cc-by-sa and MIT license