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

MySql não pode fazer coluna auto_increment


Isso acontecerá se a tabela contiver um registro existente com um id de 0 (ou negativo). A atualização de todos os registros existentes para usar valores positivos permitirá que auto_increment seja definido nessa coluna.

Edit:Algumas pessoas perguntaram como aquele 0 entrou lá. Para esclarecimento, o MySQL Reference Manual declara que "Para tipos numéricos, o padrão é 0, com exceção de que para tipos inteiros ou de ponto flutuante declarados com o atributo AUTO_INCREMENT, o padrão é o próximo valor na sequência." Portanto, se você executou uma inserção em uma tabela sem fornecer um valor para a coluna numérica antes que o auto_increment fosse habilitado, o padrão 0 seria usado durante a inserção. Mais detalhes podem ser encontrados em https://dev .mysql.com/doc/refman/5.0/en/data-type-defaults.html .