Eu tenho um banco de dados existente usando PHP, MySQL e phpMyAdmin.
Quando os usuários se tornam membros em meu site, preciso que o sistema crie um número de associação exclusivo para eles usando um número de cinco dígitos. por exemplo, 83773. Acho que é como gerar uma senha aleatória, exceto que só quero números para meus membros. Este número de identificação deve ser exclusivo para cada membro.
Seria possível para mim definir a chave primária para auto_increment na minha tabela de usuário e defini-la para começar em 10000 e, em seguida, incrementar automaticamente sempre que um membro se registrar?
Além disso, há um número máximo que o número de ID da chave primária pode atingir?
Esta é uma maneira confiável e segura de usar o número de ID da chave primária como um número de membro?
fonte
Respostas:
Existem etapas possíveis para ativar o incremento automático para uma coluna. Acho que a versão do phpMyAdmin é 3.5.5, mas não tenho certeza.
Clique em Tabela > guia Estrutura > Em Ação, clique em Principal (definir como principal), clique em Alterar na janela pop-up, role para a esquerda e marque A_I . Certifique-se também de que selecionou Nenhum como Padrão
fonte
Query error: #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
No phpMyAdmin, navegue até a tabela em questão e clique na guia "Operações". À esquerda, em Opções de tabela, você poderá definir o valor AUTO_INCREMENT atual.
fonte
Basta executar uma consulta MySQL simples e definir o número do incremento automático para o que você quiser.
Em termos de máximo, que eu saiba não existe, nem há como limitar esse número.
É perfeitamente seguro e prática comum definir um número de id como uma chave primária, incrementando automaticamente o int. Existem alternativas, como usar o PHP para gerar números de associação para você em um formato específico e, em seguida, verificar se o número não existe antes de inserir, no entanto, para mim pessoalmente, eu escolheria o valor auto_inc do id principal.
fonte
fonte
No phpMyAdmin, se você configurar um campo em sua tabela para incremento automático e, em seguida, inserir uma linha e definir o valor desse campo para 10000, ele continuará a partir daí.
fonte
@AmitKB, seu procedimento está correto. Embora este erro
Erro de consulta: # 1075 - Definição de tabela incorreta; pode haver apenas uma coluna automática e deve ser definida como uma chave
pode ser resolvido marcando primeiro o campo como chave (usando o ícone de chave com o rótulo primário), a menos que você tenha outra chave, então pode não funcionar.
fonte
Você não pode definir um valor máximo (além de escolher um tipo de dados que não pode conter grandes números, mas não há nenhum que tenha o limite que você está pedindo). Você pode verificar isso com LAST_INSERT_ID () após inserir para obter o id do membro recém-criado, e se for muito grande, manipule-o no código do aplicativo (por exemplo, exclua e rejeite o membro).
Por que você quer um limite superior?
fonte
Isto é devido aos
wp_terms
,wp_termmeta
ewp_term_taxonomy
mesas, que teve todo o seu ID não está definido paraAUTO_INCREMENT
Para fazer isso, vá para phpMyAdmin, clique no banco de dados de preocupação,
wp_terms
tabela, clique em estrutura Tab, pelo lado direito, você verá uma guia chamadaA_I(AUTO_INCREMENT)
, verificá-lo e salvar (Você só está fazendo isso para a primeira opção, no casowp_term
você está apenas fazendo issoterm_id
).Faça o mesmo para
wp_termmeta
ewp_term_taxonomy
isso resolverá o problema.fonte
(a) Simplesmente clique em seu banco de dados, selecione sua mesa. Clique em 'Operações'. Na seção 'opções da tabela' altere o valor AUTO_INCREMENT para o valor desejado, neste caso: 10000 clique em 'Ir'. (Veja a imagem em anexo)
(b) Como alternativa, você pode executar um comando SQL na guia SQL após selecionar sua tabela. Simplesmente digite 'ALTER TABLE nome_tabela AUTO_INCREMENT = 10000;' em seguida, clique em 'Go'. É isso aí!! AJUSTE DA imagem DE VALOR DE INCREMENTO AUTOMÁTICO (a)
AJUSTE DA imagem DE VALOR DE INCREMENTO AUTOMÁTICO (B)
fonte