vazzoler 0 Denunciar post Postado Outubro 6, 2017 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? Compartilhar este post Link para o post Compartilhar em outros sites
vazzoler 0 Denunciar post Postado Outubro 6, 2017 Alguém pra dar uma força? Compartilhar este post Link para o post Compartilhar em outros sites
Omar~ 87 Denunciar post Postado Outubro 7, 2017 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? Compartilhar este post Link para o post Compartilhar em outros sites
vazzoler 0 Denunciar post Postado Outubro 7, 2017 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. Compartilhar este post Link para o post Compartilhar em outros sites
Cacio Renato 4 Denunciar post Postado Outubro 7, 2017 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" Compartilhar este post Link para o post Compartilhar em outros sites
vazzoler 0 Denunciar post Postado Outubro 7, 2017 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? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Outubro 7, 2017 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. Compartilhar este post Link para o post Compartilhar em outros sites