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

Evita que MySQL reutilice los ID de AUTO_INCREMENT

En este caso, probablemente no debería usar índices AUTO_INCREMENT en lugares de acceso público.

Derive un campo clave de otros datos o use un mecanismo diferente para crear su identificación. Una forma que he usado antes, aunque debe tener en cuenta las implicaciones de rendimiento (potencialmente graves), es una tabla de "claves" para rastrear la última clave utilizada e incrementarla.

De esa forma, puede usar cualquier tipo de clave que desee, incluso no numérica, e incrementarlas usando su propio algoritmo.

He usado teclas alfanuméricas de 6 caracteres en el pasado:

CREATE TABLE `TableKeys` (
  `table_name` VARCHAR(8) NOT NULL,
  `last_key` VARCHAR(6) NOT NULL,
  PRIMARY KEY (`table_name`)
);

SELECT * FROM `TableKeys`;

table_name | last_key
-----------+---------
users      | U00003A2
articles   | A000166D
products   | P000009G