MySQL Auto Increment falhando

1

Estou tendo uma tabela com uma coluna de chave primária e incremento automático do tipo de dados int (11).

Quando estou tentando inserir nessa tabela, estou recebendo o seguinte erro. Falha ao ler o valor de incremento automático da consulta do mecanismo de armazenamento

Quando eu reinicio o serviço MySQL, ele está funcionando bem.

Tenho certeza de que isso não é problema com "Número de incremento automático excedido", pois quando tento inserir de fora ele está sendo inserido corretamente.

É este problema com o incremento automático ou outro.

    
por Phanindra 24.05.2011 / 10:46

4 respostas

1
Basicamente, este é um bug no MySQL que causa o problema, mas uma solução é simples. O problema ocorre quando o valor de incremento automático de uma tabela aumenta além do limite.

Basta executar essa consulta SQL no MySQL para corrigir o bug.

ALTER TABLE table_name AUTO_INCREMENT = 1

Table_name é o nome da tabela em que você encontrou o erro ao inserir os dados. Não se preocupe com o valor de Auto_Increment, mesmo se você tiver registros em sua tabela.

    
por 24.05.2011 / 13:04
2

Vi a mesma mensagem de erro em uma tabela com uma chave bigint (20) e observei a saída de

mysql>show table status like 'my_big_table';

Mostrou:

Auto_increment: 0

quando deveria ter sido:

Auto_increment: 2157452851

(como a última linha inserida tinha um valor de chave de 2157452850) Não houve explicação de por que o Auto_increment foi para um valor de 0, mas bloqueou inserções por nosso aplicativo.

Eu tentei fazer o ALTER TABLE para alterar o valor Auto_increment, mas era aparente que a tabela inteira seria reconstruída, o que em uma tabela desse tamanho teria levado muitas horas, então cancelei o alter. / p>

A solução que encontrei foi adicionar explicitamente uma linha com o próximo valor de chave:

mysql> INSERT INTO 'my_big_table' VALUES (2157452851,22808084,71,36376,'2013-03-16 15:09:55','2013-03-16 15:07:18','2013-03-16 15:09:55','Sent',NULL,7426);
Query OK, 1 row affected (0.03 sec)

Isso corrigiu o valor Auto_index.

mysql> show table status like 'my_big_table'\G
Auto_increment: 2157452852

Espero que isso ajude alguém.

    
por 19.03.2013 / 17:14
0

When I am trying to insert into that table, I am getting following error. Failed to read auto-increment value from storage engine Query

Isso pode ser um bug do MySQL ( # 35602 , #42566 ). Tente esta alternativa.

    
por 24.05.2011 / 11:09
0

No wamp, onde a versão do mysql é 5.1.30 em execução no windows 7 64bit, ele não funcionou. Ao executar alter table acontece alguma coisa (vejo linhas alteradas), mas o valor não corrige, então após a atualização ele volta para null. Misteriosamente removendo auto_increment da chave e definindo-o de volta, o valor de auto_increment retornado. Provavelmente, são problemas de 64 bits, mas espero que alguém salve horas resolvendo esse problema, redefinindo a chave de ID para não auto_increment e definindo de volta!

    
por 30.05.2011 / 23:24