sql >> Databáze >  >> RDS >> Mysql

Zastavit MySQL opětovné použití AUTO_INCREMENT ID

V tomto případě byste pravděpodobně neměli používat indexy AUTO_INCREMENT na veřejně přístupných místech.

Buď odvoďte klíčové pole z jiných dat, nebo použijte jiný mechanismus k vytvoření vašeho ID. Jedním ze způsobů, který jsem dříve používal, ačkoli si musíte být vědomi (potenciálně závažných) důsledků výkonu, je tabulka „klíčů“ pro sledování naposledy použitého klíče a jeho zvýšení.

Tímto způsobem můžete použít libovolný typ klíče, dokonce i nenumerický, a zvýšit je pomocí vlastního algoritmu.

V minulosti jsem používal 6místné alfanumerické klávesy:

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. Php volající skript zálohování databáze sqlserver, záložní soubor vytvořen a poté odstraněn

  2. Převést Unixtime na Datetime SQL (Oracle)

  3. Tuning:Dobré místo pro začátek

  4. Profilování dat:Zjišťování podrobností o datech