Supongamos que tengo la mesa:MySQL: ¿puede un AUTO_INCREMENT generar valores fuera de servicio?
CREATE TABLE test (
ID INT AUTO_INCREMENT PRIMARY KEY,
InsertTime DATETIME
) ENGINE = InnoDB;
Y, a través de una página web Apache/PHP, como respuesta a las peticiones web, sigo haciendo esto:
INSERT INTO test (InsertTime) values (NOW());
¿Es seguro asumir que si row1.ID > row2.ID
entonces row1.InsertTime >= row2.InsertTime
? O tal vez a través de una desafortunada combinación de factores (servidor multi-CPU en un entorno replicado con las lunas de Júpiter en la alineación correcta, etc.) ¿esto puede fallar?
Nota: No tengo ningún problema. Estoy escribiendo una nueva pieza de software y me pregunto si puedo confiar en ordenar por ID
para ordenar también por fechas (solo NOW()
incluso se insertará en esa columna).
Esto no parece ser un problema, sino más bien una discusión por lo que -> más algo para los programadores de SE? Y para él, no veo cómo esto puede fallar. –
@saratis - ¿No ves cómo esto es una discusión? Es una pregunta específica. O funciona 100% garantizado o no funciona. –
Aunque supongo que hay 2 preguntas diferentes aquí. "¿Se puede generar un identificador a partir del pedido de inserción" y "¿es posible que la orden no coincida con el orden de la columna de fecha y hora?" –