Open PoweredTable opened 3 months ago
Você diria que quando for fazer o insert de um novo dado na tabela, eu não preciso especificar o id? Na hora q desenvolvi esqueci que havia feito com AUTO_INCREMENT os ids.
Exemplo de erro seria, apago o dado id 7(maior id da tabela), ai quando eu for inserir um novo dado na tabela e pegar o maior id ele irá retornar 6 e somar 1, e quando isso for inserido como id 7 dará erro? seria isso?
Boa tarde,
Com a propriedade do AUTO_INCREMENT
não é necessário especificar o id.
Sobre o erro que você mencionou, de fato é um caso que talvez pudesse ocasionar um erro inesperado, isso pois no MySQL, sempre que você exclui uma linha de dados da tabela, o valor do auto increment não reseta/diminui.
Porém, se eu não me engano, no MySQL se você inserir manualmente uma linha de dados com um Id que não existe, mesmo que a coluna possua auto increment, não deve ocasionar um erro.
Resumindo, da forma que foi feito usando o método pegaMaiorId deve funcionar normalmente, porém é redundante ter um método que gera um Id único e uma propriedade no banco que faz a mesma coisa.
Att, Lucas da Silveira
Boa tarde,
Vou ajustar então, ficou redundante mesmo, acredito que a solução seria apenas indicar os valores alternativos e deixar o banco inserir o maior id, exemplo insertAmigo preencher e enviar ao banco apenas os dados nome e telefone, já que o id será inserido pelo banco.
Obrigada pela dica, atenciosamente Emely.
Todas as tabelas criadas utilizam a propriedade
AUTO_INCREMENT
, isso significa que a cada novo registro em uma tabela não há necessidade de especificar um ID.Não necessariamente causará algum erro sempre que fizer um INSERT, porém se o ID já existir, ocorrerá um erro.
Com isso em mente, é possível observar alguns potenciais problemas nos seguintes métodos:
Ambos estão localizados nos arquivos DAO.