sql >> Base de Datos >  >> RDS >> Mysql

¿Reservar ID de incremento automático de mySQL?

La única forma de generar un valor de incremento automático es intentar la inserción. Pero puede revertir esa transacción y aún leer la identificación generada. En MySQL 5.1 y versiones posteriores, el comportamiento predeterminado es que los valores de incremento automático no se "devuelven" a la pila cuando retrocede.

START TRANSACTION;
INSERT INTO mytable () VALUES ();
ROLLBACK;
SELECT LAST_INSERT_ID() INTO @my_ai_value;

Ahora puede estar seguro de que ninguna otra transacción intentará usar ese valor, por lo que puede usarlo en sus procesos externos y, finalmente, insertar manualmente un valor que use ese valor de identificación (cuando inserta un valor de identificación específico, MySQL no lo hace). generar un nuevo valor).