Tengo una tabla con una columna de aumento automático. Necesito establecer una de las filas en 1000 y nunca volver a tocarla, pero ahora que la configuré en 1000, el incremento automático sigue comenzando en 1001 y se niega a comenzar en 1. ¿Hay alguna forma de evitar esto?¿Restablecer MySQL auto_increment cuando ya existe un número grande?
Respuesta
Respuesta simple y corta: no puede hacer esto.
Si pudiera, ¿qué pasaría si comienza su autoincremento en 1 e inserta 1000 filas? El último no se pudo insertar debido a "duplicate key" -error.
Si tiene que tener una entrada predefinida, con una identificación que nunca cambia y es fácil de recordar, ¿por qué no usa 0 para eso? O, si realmente necesita usar 1000, ¿cuál es el problema con dejar que las otras columnas comiencen en 1001?
Él no debería pero no puede. Ver mi respuesta –
esto fue ajreal editando mi respuesta, escribí "no puedo" - y ahora remonté esa edición – oezi
Usted no puede:
Para cambiar el valor del contador de AUTO_INCREMENT que se utilizará para nuevas filas, haga lo siguiente:
ALTER TABLE t2 AUTO_INCREMENT = valor;
No puede restablecer el contador a un valor inferior o igual a cualquiera que ya se haya utilizado. Para MyISAM, si el valor es menor o igual que el valor máximo actualmente en la columna AUTO_INCREMENT , el valor es restablecer al máximo actual más uno. Para InnoDB, si el valor es menor que el valor máximo actual en la columna , no se produce ningún error y el valor de secuencia actual no se cambia.
Puede usar MS Access que enlazar a MySQL como tabla externa, y se puede cambiar el valor del campo de tabla incremento automático de MS Access a través de copiar y pegar desde Excel (primero, es necesario disponer la valor del incremento automático en Excel).
Asumiendo que tiene ningún otro identificador de fila con 1000, se puede insertar la fila de la parte inferior de la tabla, a continuación, sólo tiene que utilizar el comando de actualización:
UPDATE table.column SET id = 1000 WHERE id = current_id;
Suponiendo que la identificación es la columna de incremento automático . Y current_id debe reemplazarse con el id. En el que se inserta la fila.
Usted podría utilizar las siguientes declaraciones:
UPDATE tbl SET id=1000 WHERE id=current_id;
ALTER TABLE tbl AUTO_INCREMENT=1001;
- 1. Detener MySQL Reutilizando AUTO_INCREMENT IDs
- 2. Echo un número muy grande
- 3. ¿Qué hacer cuando necesita almacenar un número (muy) grande?
- 4. MySql no puede hacer la columna auto_increment
- 5. ¿Cómo restablecer un motor de número aleatorio?
- 6. MySQL ¿Existe un límite para InnerJoin?
- 7. incrementos de la columna mysql auto_increment por un valor aleatorio
- 8. Mysql - Agregar auto_increment a la clave principal
- 9. MySQL: ¿puede un AUTO_INCREMENT generar valores fuera de servicio?
- 10. Rake abortado ... la tabla 'users' ya existe
- 11. No se puede crear un archivo cuando ese archivo ya existe cuando se usa Directory.Move
- 12. Planteando excepciones cuando ya existe una excepción en Python 3
- 13. Número grande en C++
- 14. ¿Cuál es el límite de auto_increment (integer) en mysql
- 15. Comprobar si un evento ya existe
- 16. ¿Cómo INSERTAR un registro o ACTUALIZAR si ya existe?
- 17. ¿Cómo verificar si ya existe un valor para evitar duplicados?
- 18. Cómo restablecer un AutoIncrement de MySQL utilizando un valor MAX de otra tabla?
- 19. auto_increment por grupo
- 20. ¿Hay algún daño al restablecer el autoincremento?
- 21. Math.Exp del número negativo grande
- 22. powershell obtener el número de líneas del archivo grande (grande)
- 23. mysql alterar columna int a letra grande con claves externas
- 24. Un cursor con el nombre ya existe ... - SQL Server 2008
- 25. SqlServer create table with MySql like auto_increment primary key
- 26. Comprobando si un elemento ya existe en un JComboBox?
- 27. No se puede crear un archivo cuando ese archivo ya existe
- 28. Hibernate no respeta el campo clave de MySQL auto_increment
- 29. ¿Cómo puedo saber si una columna es auto_increment en mysql?
- 30. MySQL Table no existe error, pero existe
¿Qué hay de ponerlo a 0 en su lugar? :) –
Si * puedes * hacer que esto funcione, ¿qué esperarías que ocurriera una vez que el autoincremento llegue a 1000 nuevamente? –