Eu tenho uma tabela MySQL Innodb com 'id' como coluna de chave primária de incremento automático.
Meus scripts estão fazendo as seguintes operações:
- insira ignorar no nome da tabela set x='a', y='b'
- update ignore tablename set x='a', y='b' where id = 'smthing'
- excluir do tablename onde id = 'smthing'
Agora, depois de executar o script, quando insiro algo manualmente (insira no tablename set x='ax', y='bx'), recebo o seguinte erro:
Duplicate Entry for Auto Increment Value.
Na verificação, vejo que o Auto Increment está tentando colocar o maior valor possível de int que o MySql suportará como novo valor, mesmo e já existe no db.
A tabela possui dois índices: id+x, id+y embora idk se estiver relacionado a este problema.
Atingi o valor máximo possível de uma coluna int. Problema resolvido alterando a tabela e definindo int maior que int.
A faixa com sinal de MIDINT é de –8388608 a 8388607. A faixa sem sinal é de 0 a 16777215
Referência: http://help.scibit.com/mascon/masconMySQL_Field_Types.html