Pues eso: ¿Qué para si el un índice autoincremental apunta al valor más alto que es posible asignar, aún cuando existan índices no utilizados?
¿Comienza a crear índices no validos? ¿Utiliza los espacios vacios? ¿Explota?
| ||||
¿Qué pasa si se "acaba" el AUTO_INCREMENT"? Pues eso: ¿Qué para si el un índice autoincremental apunta al valor más alto que es posible asignar, aún cuando existan índices no utilizados? ¿Comienza a crear índices no validos? ¿Utiliza los espacios vacios? ¿Explota?
__________________ Mi pequeño espacio en la web: VisiónE "El cosmos es todo lo que es, todo lo que fue, y todo lo que será alguna vez." |
| ||||
Bueno, hice una prueba con un campo TINYINT y el resultado fue que llegando al final de su secuencia, NO permite incluir más ya que la llave existe. SI LA LLAVE, por definición MySQL declara como campo llave los campos AUTO_INCREMENT. En conclusión... Al llegar hasta donde pueda llegar la secuencia, NO permite más ingreso de registros.
__________________ NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL |
| |||
Hola HIce la siguiente prueba cree una tabla
Código:
inserte hasta el nro mas grandecreate table probando( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id));
Código:
Consulte la tabla y me dio estomysql> insert into probando values (100000000000); Query OK, 1 row affected, 1 warning (0.00 sec)
Código:
y despues inserte el siguiente mysql> select * from probando; +------------+ | id | +------------+ | 2147483647 | +------------+ 1 rows in set (0.00 sec)
Código:
Asi que tienen por lo menos para 2.147.483.647 (dos mil millones de registros)....jajajajajamysql> insert into probando values (null); ERROR 1062 (23000): Duplicate entry '2147483647' for key 1 mysql> insert into probando values (2147483648); ERROR 1062 (23000): Duplicate entry '2147483647' for key 1 Saludos |
| |||
Con TINYINT te permite hasta un máximo de 127 registros, luego ya no puedes insertar más. Si el campo es solamente para identificar el número de registro y no vas a tner más de 127 registros, puedes hacer lo siguiente: Incluye en el comando insert el campo clave con el valor más bajo que puedas, por ejemplo, sii el campo TINYINT se llamase ID_partido: $resid=mysql_query("select min(ID_partido), max(ID_partido) from partidos"); $rowid = mysql_fetch_array($resid); $idmin=$rowid["min(ID_partido)"]; $idmax=$rowid["max(ID_partido)"]; if ($idmin>1) $ID_partido=$idmin-1; else $ID_partido=$idmax+1; $result=mysql_query("insert into partidos (ID_partido.... |