Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak utworzyć unikalny losowy identyfikator liczby całkowitej dla klucza podstawowego dla tabeli?

W odpowiedzi na: „Ponieważ chcę użyć tej wartości do zakodowania w Base62, a następnie użyć jej jako identyfikatora w adresie URL. Jeśli będę automatycznie zwiększać, dla użytkownika może być oczywiste, w jaki sposób generowany jest identyfikator adresu URL”.

Jeśli Twoim celem jest bezpieczeństwo, użycie Base62, nawet z „losowo” wygenerowanym numerem, nie pomoże.

Lepszą opcją byłoby:

  • Nie wymyślaj ponownie koła — użyj AUTO_INCREMENT
  • Następnie użyj kryptograficznej funkcji skrótu + losowo wygenerowanego ciągu (ukrytego w bazie danych dla tego konkretnego adresu URL), aby wygenerować ostateczny „unikalny identyfikator dla tego adresu URL”


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tajemnica MySQL:wartość null nie różni się od łańcucha innego niż null

  2. Znajdź wiersze, które mają tę samą wartość w kolumnie w MySQL

  3. MySQL:wybieraj e-maile tylko z jednej tabeli, jeśli nie z innej?

  4. Problem z Kreatorem źródeł danych MySQL dla programu Visual Studio / Visual Studio 2017. Odwołanie do obiektu nie jest ustawione na instancję obiektu

  5. Jak wykryć znaki UTF-8 w zakodowanej kolumnie Latin1 - MySQL