Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera tenho duas tabelas no banco de dados MySQL.
tabela 1 com os seguintes dados
cnpj
status (pode ser 1 para não processado e 2 para processado)
tabela 2 com os seguintes dados
cnpj
razao
endereco
O problema é o seguinte, existem centenas de pessoas acessando o banco de dados ao mesmo tempo.
Cada novo acesso entra no banco e pega 1 cnpj com o status='1' na tabela 1.
Essa pessoa que pegou esse cnpj vai cadastrar a razao e endereco na tabela 2 e feito esse cadastro ele vai atualizar a tabela 1 com o status desse cnpj para status='2'.
O problema surge pelo fato de que devido ter centenas de pessoas usando ao mesmo tempo o banco de dados, quando alguém entra e pega o cnpj com status='1' na tabela 1, outra pessoa pode entrar e pegar o mesmo cnpj antes que ele esteja atualizado com status='2', que só é feito após o cadastro dele na tabela 2.
Como posso solucionar esse problema?
Existe alguma forma de tipo assim, quando a pessoa entrar pegar o cnpj status='1' ela modifica automaticamente o status para status='3' (em atualização por exemplo) e caso ela não conclua o processo de cadastro da tabela 2 (por fechar a página antes da conclusão por exemplo) o sistema volte aquele cnpj para status='1' para que outra pessoa entre e pegue novamente esse cnpj?
Alguém pode me dar uma luz?
Abraço
Carregando comentários...