Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia Galara. Tenho a seguinte situação: Possuo uma tabela com o ID, CNPJ, Razão Social, Descrição Protocolo, Data do Protocolo. Porém, este sistema é multi empresas, e o que separa os dados a serem acessados de uma empresa para outra é o campo CNPJ. Ou seja, quando a empresa X acessa a funcionalidade Protocolos, ela só visualiza os protocolos dessa empresa (claro) através do CNPJ utilizado no login. Até aí tudo ok. Agora preciso criar um campo novo chamado Nº Protocolo, porém preciso que este número seja sequencial para cada empresa a cada novo protocolo. Por exemplo: A empresa X cria o primeiro protocolo e este faça um AutoIncrement para 1, o segundo protocolo para 2 e assim por diante. Quando a empresa Y for criar seu primeiro protocolo, necessito que o AutoIncrement assinale este Nº para 1 e não siga a sequencia da empresa X. Alguém poderia me dar uma força em como fazer isso?
CREATE TABLE `tabelinha` (
`incrementasozinha` INT(11) NOT NULL AUTO_INCREMENT,
`nomequalquer` VARCHAR(50) NOT NULL DEFAULT '',
PRIMARY KEY (`incrementasozinha`)
)
Qualquer registro novo nesse banco o sql vai fazer a 'incrementasozinha' se alto completar.
Exemplo no primeiro registro fica 1, no segundo fica 2 e assim sucessivamente.
É isso?Não Omar. Esse é um campo comum de incremento. Isso minha tabela já tem... Como eu disse, preciso que o campo número se auto incremente para cada CNPJ.
Tu vai ter que tirar o AUTO_INCREMENT do codigo e deixar ele só como primario
select if((max(c.codigo) + 1) is null,1,max(c.codigo) + 1) as Auto_increment from tabela c where c.cnpj = "aqui cnpj"
Boa tarde Cacio. A dúvida é realmente essa. A única solução é via código então né. Direto pelo mysql não é possível msm?
Além do que tem uma regra para o sac , tipo aaaa e sequencia , a solução passa ter um tabela incremental
Algo como
Protocolos_empresa(cnpj (pk), ultimo_protocolo_emp
O cuidado é estar numa "transaction" para garantir a unicidade.
Eu centralizaria o incremento em uma procedure.
Alguém pra dar uma força?