Números de série por grupo de linhas para chave composta
Estou tentando manter uma tabela de histórico de endereços:
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
);
Gostaria de saber se existe uma maneira fácil de numerar / restringir automaticamentesequence
noaddress_history
para contar automaticamente de 1 para cadaperson_id
.
Em outras palavras, a primeira linha comperson_id = 1
obteriasequence = 1
; a segunda linha comperson_id = 1
obteriasequence = 2
. A primeira linha comperson_id = 2
, obteriasequence = 1
novamente. Etc.
Além disso, existe uma maneira melhor / integrada de manter uma história como essa?