sql >> Database teknologi >  >> RDS >> Mysql

Stop MySQL genbrug af AUTO_INCREMENT ID'er

I dette tilfælde bør du sandsynligvis ikke bruge AUTO_INCREMENT-indekser på offentligt tilgængelige steder.

Udled enten et nøglefelt fra andre data, eller brug en anden mekanisme til at oprette dine id'er. En måde, jeg har brugt før, selvom du skal være opmærksom på de (potentielt alvorlige) præstationsimplikationer, er en "nøgler"-tabel til at spore den sidst brugte nøgle og øge den.

På den måde kan du bruge enhver type nøgle, du ønsker, selv ikke-numeriske, og øge dem ved hjælp af din egen algoritme.

Jeg har tidligere brugt 6-tegns alfanumeriske taster:

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


  1. forståelse mysql forklare

  2. opdater kolonneværdier med kolonne i en anden tabel baseret på betingelse

  3. Brug af FLASHBACK i Oracle

  4. Fjernadgang til Mysql