Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để tạo ID số nguyên ngẫu nhiên duy nhất cho khóa chính của bảng?

Đáp lại: "Vì tôi muốn sử dụng giá trị đó để Mã hóa thành Base62 và sau đó sử dụng giá trị đó cho id trong url. Nếu tôi tự động tăng, người dùng có thể thấy rõ cách tạo id url."

Nếu mục tiêu của bạn là bảo mật thì việc sử dụng Base62, ngay cả với một số được tạo "ngẫu nhiên" cũng không giúp ích được gì.

Một lựa chọn tốt hơn sẽ:

  • Không phát minh lại bánh xe - sử dụng AUTO_INCREMENT
  • Sau đó, sử dụng hàm băm mật mã + một chuỗi được tạo ngẫu nhiên (ẩn trong db cho url cụ thể đó) để tạo "id duy nhất cho url đó" cuối cùng


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tôi có đang sử dụng Java PooledConnections đúng cách không?

  2. Bế tắc trong MySQL do Chèn bởi nhiều luồng

  3. Cách lấy ngày từ cột ngày giờ trong MySQL

  4. Tạo bảng nếu không tồn tại từ mysqldump

  5. Bỏ qua tiêu chí WHERE cụ thể