Solución a "Entrada duplicada '4294967295' para la clave 2"

Desde
1 Oct 2019
Mensajes
2,336
Reacciones
2,120
Honor
541
Este es un error de datos de incremento automático esencialmente "corruptos", generalmente causado por la manipulación manual de los datos en un campo de incremento automático.

Los campos de incremento automático se utilizan para mantener el valor de las nuevas entradas únicas. Nunca debe asignar ese valor manualmente, ya que MySQL mantiene una base de datos de back-end de datos sobre qué número debe aumentar al siguiente, y si se usa ese número (o si ha causado que el valor sea extremadamente alto, excediendo las limitaciones de enteros) , obtendrás el error
Codigo:
Necesitas, Acceder o Registrarse para ver el contenido.
Si obtiene este error, no se debe a nuestras consultas proporcionadas y se debe a que usted o alguien del personal de su servidor estaba agregando entradas manualmente y manipularon el campo `índice`, en lugar de dejarlo en blanco para que el incremento automático pueda hacer su trabajo, o se ha quedado sin espacio porque se ha incrementado automáticamente a un valor que excede lo que puede admitir el tipo de datos de la columna.

Además, verifique que su base de datos no esté utilizando TINYINT en lugar de INT o BIGINT para `index` (o cualquiera que sea el nombre del campo de incremento automático que está causando el problema). Si es así, entonces la razón por la que se produce el error es porque ha excedido el valor máximo para aumentar automáticamente (ya sea porque omitió una tonelada debido a que ingresó manualmente un número realmente alto o porque realmente tiene la cantidad máxima de valores), debido a las severas limitaciones de TINYINT.

TypeBytesMinimum Value
(Signed/Unsigned)
Maximum Value
(Signed/Unsigned)
TINYINT1-128 / 0127 / 255
SMALLINT2-32768 / 032767 / 65535
MEDIUMINT3-8388608 / 08388607 / 16777215
INT4-2147483648 / 02147483647 / 4294967295
BIGINT8-9223372036854775808 / 09223372036854775807 / 18446744073709551615

Existen dos posibles soluciones para corregir el error:

1. Cambie el tipo de datos de la columna a "BIGINT", lo que le dará muchos más números para aumentar automáticamente
2. Ejecute la siguiente consulta para intentar una reparación automática de los valores de incremento automático (¡haga primero una copia de seguridad!):
Codigo:
Necesitas, Acceder o Registrarse para ver el contenido.
Reemplace "tbl_name" con la tabla que causa los problemas.
 

Crea una cuenta o inicia sesión para comentar

Debes ser usuario para poder dejar un comentario.

¡Regístrate!

Crea una cuenta en nuestra comunidad. ¡Es fácil!

Acceder

¿Ya tienes una cuenta? Accede aquí

3,736Temas
24,594Mensajes
15,318Usuarios
GatoRRÚltimo usuario
Top