Se uma tabela for danificada e essa tabela já estivesse com a id 1000 e eu recuperar, mas com id 500. Como faço para continuar do id 1001? Posso criar um campo e controlar essa sequência? Qual a forma melhor de se incrementar um campo sem ser um id?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Se uma tabela for danificada e essa tabela já estivesse com a id 1000 e eu recuperar, mas com id 500. Como faço para continuar do id 1001? Posso criar um campo e controlar essa sequência? Qual a forma melhor de se incrementar um campo sem ser um id?
Para mudar o incremento de um campo pode se fazer desta forma
ALTER TABLE nome_da_tabela AUTO_INCREMENT = novo_valor_inicial;Desta forma os novos registros vão ter um ID a partir do número informado.
Até onde eu me lembro, no MySQL você não consegue adicionar um ID manual no campo autoincremento, por exemplo, se eu apagar o registro com id 500 e tentar inserir um registro a mão com este ID, ele não deve deixar.
No caso do SQL Server, você conseguiria fazer isso desligando o auto incremento, adicionando o registro e reativando. Não conheço algo parecido no MySQL.
Caso você queira importar registros com um ID já existente, você poderia criar um campo em separado para o ID, inserir os registros, depois apagar o campo ID existente e promover o campo novo para autoincremento. Não é algo prático, mas deve funcionar.
Procure fazer uma cópia da tabela e testar em separado para validar.