Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Interromper a reutilização de IDs AUTO_INCREMENT do MySQL


Nesse caso, você provavelmente não deveria usar índices AUTO_INCREMENT em locais publicamente acessíveis.

Deriva um campo-chave de outros dados ou use um mecanismo diferente para criar seus IDs. Uma maneira que usei antes, embora você precise estar ciente das implicações de desempenho (potencialmente graves), é uma tabela de "chaves" para rastrear a última chave usada e incrementá-la.

Dessa forma, você pode usar qualquer tipo de chave que desejar, mesmo não numérica, e incrementá-las usando seu próprio algoritmo.

Eu usei teclas alfanuméricas de 6 caracteres no passado:
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