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

Sådan finder du næste gratis unikke 4-cifrede nummer

Du ville være bedre tjent med at gemme en tabel med alle 10.000 mulige værdier defineret og et "i-brug"-flag på hver. På den måde er frigivelse af nummeret til genbrug en simpel opdatering for at indstille "inuse=false".

Gør også det nemt at finde den lavest tilgængelige værdi

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

At gøre det med passende låse/transaktioner ville forhindre, at to eller flere anmodninger får det samme id, og da det er en lille tabel, ville en global tabellås ikke påvirke ydeevnen væsentligt.

Ellers ville du sidde fast ved at rode rundt i dit brugerbord og prøve at finde det første "hul" i nummereringssekvensen.



  1. Forståelse af beskidt læseproblem med SQL Server

  2. SQL Server 2017 gendannelse

  3. PHP-advarsel:PHP-start:Kan ikke indlæse det dynamiske bibliotek '/usr/lib/php/20151012/msqli.so'

  4. SQLITE kan ikke opgradere skrivebeskyttet database fra version 1 til 2