O servidor de banco de dados MySQL é um banco de dados open-source utilizado , especialmente na área de desenvolvimento web . Integra-se com uma grande variedade de linguagens de script , tornando-o útil para programadores tanto experientes e novos. Servidores de banco de dados , no entanto, são animais complicados e MySQL não é excepção. Classificando para fora os seus erros e determinar as melhores práticas requer algum estudo e experiência. Significado
A mensagem para o código de erro 1062 no MySQL é " Duplicate entry [ valor da entrada] para a chave [ nome da chave ] . " Isto significa que você tentou inserir dados que duplica os dados existentes para uma chave única . Por exemplo, se você tem uma tabela de contas de usuário e "username" é uma chave única sobre esta tabela , e uma entrada com o nome de usuário " exampleguy " já existe na tabela, se você tentar inserir uma nova linha com o nome de usuário " exampleguy ", você obterá um erro com o código de 1062
possível
Razões
a primeira causa é a olhar para uma colisão de inserção de dados legítimo; . , por exemplo , você ou o seu software não verificar se os seus dados é uma duplicata antes de tentar inseri-lo. Outra causa possível é que a sua estrutura de tabela não está devidamente projetado . Se você achar que muitas vezes você precisa inserir itens duplicados , mas esses itens são definidos na estrutura da tabela como uma chave única , então o design da tabela tem um problema. Certifique que a chave não é única .
Maneiras de evitar
Antes de inserir dados em um banco de dados, " verificação de sanidade " dele. Quando uma tabela tem uma chave única , certifique-se a chave não é duplicada antes de inserir . Além disso, use chaves únicas apenas se for caso disso . Em uma tabela de usuários do site , por exemplo, não há duas contas devem ter o mesmo nome de usuário , por isso verifique a coluna "username" uma chave única e também verificar que nomes de usuários desejados novos usuários não são tomadas antes de introduzir os seus novos dados de contas no base de dados . Não faça a coluna " primeiro nome " único , no entanto, como isso vai resultar em colisões de dados .
Considerações
Pode ser tentador simplesmente remover todos originais índices para evitar o trabalho envolvido na prevenção de erros de 1062 . No entanto, chaves únicas acelerar significativamente a recuperação de dados . Além disso, para alguns itens de dados que simplesmente faz sentido impor exclusividade , como é o caso da coluna de nome de usuário em uma tabela do usuário . Por outro lado, chaves únicas são mais lentos para escrever, porque o arquivo de índice deve ser atualizado , e só deve ser usado em casos em que você pode, naturalmente, esperam uma chave para ser único.