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

tạo số duy nhất mysql

Mặc dù có vẻ hơi khó xử nhưng đây là những gì có thể làm để đạt được mục tiêu:

SELECT FLOOR(10000 + RAND() * 89999) AS random_number
FROM table
WHERE random_number NOT IN (SELECT unique_id FROM table)
LIMIT 1

Nói một cách đơn giản, nó tạo ra N số ngẫu nhiên, trong đó N là số hàng trong bảng, lọc ra những hàng đã có trong bảng và giới hạn tập hợp còn lại là một.

Nó có thể hơi chậm trên các bảng lớn. Để đẩy nhanh tiến độ, bạn có thể tạo chế độ xem từ các id duy nhất này và sử dụng nó thay vì câu lệnh select lồng nhau.

CHỈNH SỬA:đã loại bỏ dấu ngoặc kép



  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ó thể thực thi nhiều truy vấn được phân tách bằng dấu chấm phẩy với MySQL Connector / J không?

  2. MySQL:Chọn tất cả các ngày trong một phạm vi ngay cả khi không có hồ sơ nào

  3. Truy vấn MySql để chọn các bản ghi có một ngày cụ thể

  4. MySQL Trigger không thể cập nhật bảng - nhận được LỖI 1442

  5. ClassCastException:java.math.BigInteger không thể được truyền sang java.lang.Long khi kết nối với MySQL