Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да намерите следващия безплатен уникален 4-цифрен номер

По-добре е да съхранявате таблица с всички дефинирани 10 000 възможни стойности и флаг "в употреба" на всяка. По този начин освобождаването на номера за повторна употреба е проста актуализация за задаване на „inuse=false“.

Също така прави намирането на най-ниската налична стойност лесно

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

Правенето на това с подходящи заключвания/транзакции би попречило на две или повече заявки да получат един и същ идентификатор и тъй като таблицата е малка, извършването на глобално заключване на таблицата няма да повлияе значително на производителността.

В противен случай ще останете да ровите из таблицата на потребителите си, опитвайки се да намерите първата „пропаст“ в последователността на номериране.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Предупреждение:mysql_fetch_array():предоставеният аргумент не е валиден MySQL резултат

  2. Нулиране на позицията на курсора в PDO

  3. Laravel Eloquent с две „WHERE NOT IN“ в подзаявка

  4. str_replace в SQL АКТУАЛИЗИРАНЕ?

  5. грешка при търсене в пълен текст на mysql