Definindo Chave Composta com Incremento Automático no MySQL
Cenário:
Eu tenho uma tabela que faz referência a duas chaves estrangeiras e, para cada combinação exclusiva dessas chaves estrangeiras, tem sua própria coluna auto_increment. Eu preciso implementar uma chave composta que ajudará a identificar a linha como única usando a combinação desses três (uma chave estrangeira e uma coluna auto_increment e uma outra coluna com valores não exclusivos)
Mesa:
CREATE TABLE `issue_log` (
`sr_no` INT NOT NULL AUTO_INCREMENT ,
`app_id` INT NOT NULL ,
`test_id` INT NOT NULL ,
`issue_name` VARCHAR(255) NOT NULL ,
primary key (app_id, test_id,sr_no)
);
Claro, tem que haver algo errado com a minha consulta, porque o erro é:
ERRO 1075: definição de tabela incorreta; pode haver apenas uma coluna automática e ela deve ser definida como uma chave
O que estou tentando alcançar:
Eu tenho uma tabela de aplicativos (com app_id como sua chave primária), cada aplicativo tem um conjunto de problemas a serem resolvidos e cada aplicativo tem vários número de testes (portanto, o test_id col) O sr_no col deve incrementar para app_id e test_id exclusivos.
Ou seja, os dados na tabela devem ter a seguinte aparência:
O mecanismo de banco de dados é o InnoDB. Eu quero conseguir isso com o máximo de simplicidade possível (ou seja, evitar gatilhos / procedimentos, se possível - o que foi sugerido para casos semelhantes em outras perguntas).