Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Inserir em um campo de incremento automático


Ok, antes de obter a resposta à sua pergunta, devo avisá-lo sobre extremamente má prática que você está tentando fazer lá. Não me entenda mal, muitos tentaram fazer o que você está fazendo e simplesmente não é assim que as coisas deveriam funcionar.

Seu ID auto_incremented é uma chave primária. A chave primária é usada para identificar exclusivamente uma linha em uma tabela. É isso. Não tem outro significado especial além disso.

Então, o que isso significa para você? Isso significa que sua ideia de que você "reservará" 1 - 10k para administradores é ruim. Por que é ruim? Porque você está adulterando a chave primária. Você nunca deve decidir qual deve ser o valor da chave primária, isso é trabalho dos bancos de dados por muitas razões (consistência, por exemplo). Outra coisa ruim é que você limitou alguém a apenas 10k entradas possíveis. você vai calcular qual é a próxima entrada para administradores? E se você digitou 1, 2, 3, 4 e depois excluiu a entrada com ID =3? O que acontece depois? Qual é o seu próximo valor de sequência? 3 ou 5?

Dito isso, você provavelmente deve repensar sua estratégia. Por que não adicionar um campo "isAdmin" que informará se um administrador postou algo ou não?