Estou precisando pegar o valor do próximo ID a ser inserido no BD, tenho 2 tabelas por exemplo Visitas e Sonho, onde a foreign key da tabela Sonho é o ID da tabela Visitas, esses dados são inseridos simultaneamente no sistema, então para isso tenho que pegar qual sera o valor do ID da tabela Visitas e inserir na tabela sonho, estava tentando fazer da seguinte maneira:
select auto_increment from information_schema.tables where table_name = 'tblvisitas'and table_schema = 'bdrvisitas';
mas esse código não esta retornando o próximo ID, na primeiro momento retornou, mas depois que apaguei um registro e inseri novos registros, ele passou a sempre me retornar o mesmo valor, já pesquisei várias coisas e ainda não consegui resolver, se alguém puder ajudar, agradeço desde já
Minha dúvida é se várias pessoas usando ao mesmo tempo, pode ocorrer de pegar o ID da tabela Visitas de forma errada? fiz o teste com o código que me passou pegou o próximo ID corretamente, mas se apago o ultimo registro, por exemplo o id 6, e execute o código ele me retorna o 6 novamente e não o 7 que seria o próximo do autoincremento.
Entendi, realmente não resolveria nesse caso!
Estranho que a consulta que você fez deveria funcionar normalmente, será que você não perdeu alguma configuração?
Nem sempre apagar um registro é bom, as vezes apenas esconder é melhor.
Considere criar uma coluna no banco chamada ativo por exemplo, ai caso queira “apagar” você apenas muda o ativo para false, assim mantendo o último id e o registro no banco
Eu pessoalmente não gosto de apagar, pois os registros ficam como histórico e nunca se sabe o que virá pela frente
boa tarde amigos, agradeço a todos pela ajuda, consegui utilizar o código que estava tentando antes, após dar o comando abaixo, como Jonathan_Medeiros disse, estava faltando alguma configuração e era a de privilégios, não sei se essa é a maneira mais correta, mas funcionou como eu estava esperando
GRANT ALL PRIVILEGES ON *.* TO 'user'@'endereco' IDENTIFIED BY 'nomedobanco';