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

Jak najít další bezplatné jedinečné 4místné číslo

Bylo by lepší uložit tabulku se všemi definovanými 10 000 možnými hodnotami a s příznakem „používá se“. Tímto způsobem je uvolnění čísla pro opětovné použití jednoduchou aktualizací nastavením "inuse=false".

Také usnadňuje nalezení nejnižší dostupné hodnoty

SELECT idstring
FROM idstringtable
ORDER BY idstring ASC
WHERE (available = 1)
LIMIT 1

Pokud to uděláte s vhodnými zámky/transakcemi, zabráníte tomu, aby dva nebo více požadavků získaly stejné ID, a protože se jedná o malou tabulku, provedení globálního zámku tabulky by výrazně neovlivnilo výkon.

V opačném případě byste se museli prohrabovat kolem tabulky uživatelů a snažit se najít první "mezeru" v posloupnosti číslování.



  1. Použití klauzule EXCEPT v PostgreSQL

  2. Převod řádků s příliš mnoha hodnotami na sloupce

  3. MySQL jak spojit tabulky na dvou polích

  4. Seskupit podle kombinace 2 polí a poté seřadit podle součtu každé skupiny, více anotací django