[Resolvido] Chave primaria composta com auto_increment no InnoDB
Galera já procurei e tentei de tudo encontrado na internet eu consegui resolver esse problema no engine MyIsam mas ele não se relaciona com outras tabelas por isso preciso fazer isso no engine InnoDB...
Existe a tabela Veículo e dentro dela
cod_veic, cod_veic_emp, cod_emp
cod_veic é a primary key
cod_veic_emp é o código do veículo por empresa por exemplo na empresa 1 tem o veículo 1 2 3 na empresa 2 tem o veículo 1 2 3 e assim vai
cod_emp é o código da empresa a que o veículo pertence
Fica assim
A | B | C |
1 | 1 | 1 |
2 | 2 | 1 |
3 | 3 | 1 |
4 | 1 | 2 |
5 | 2 | 2 |
6 | 1 | 3 |
A = cod_veic
B = cod_veic_emp
C = cod_emp
Alguém tem alguma solução
Ahh esqueci tem um problema que o cod_veic_emp não pode se repetir nunca por exemplo tem o cod_veic_emp 9 ai você deleta esse veículo e cadastra outro e ele aparece com cod_veic_emp 9 de novo
Por enquanto o meu código está assim:
create table veiculo
(
cod_veic int not null auto_increment,
cod_veic_emp int not null,
cod_emp int not null,
constraint pk_veic primary key(cod_veic, cod_emp),
constraint un_veic unique key(cod_veic_emp, cod_emp)
);
insert into veiculo (cod_veic_emp, cod_emp)
(select count(cod_veic_emp) + 1, 1 from veiculo where cod_emp = 1);
E já tentei com o max() também
insert into veiculo (cod_veic_emp, cod_emp)
(select max(cod_veic_emp) + 1, 1 from veiculo where cod_emp = 1);Discussão (1)
Carregando comentários...