Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để tạo số ngẫu nhiên gồm 6 chữ số trong MySQL?

Bạn có thể sử dụng LPAD () cùng với rand () và floor () để tạo số ngẫu nhiên gồm 6 chữ số. Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable
   (
   Value int
   );
Query OK, 0 rows affected (0.64 sec)

Chèn bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable values(1);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(2);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(3);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values(4);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(5);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(6);
Query OK, 1 row affected (0.19 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select * from DemoTable;

Điều này sẽ tạo ra kết quả sau -

+-------+
| Value |
+-------+
| 1     |
| 2     |
| 3     |
| 4     |
| 5     |
| 6     |
+-------+
6 rows in set (0.00 sec)

Sau đây là truy vấn để tạo số ngẫu nhiên gồm 6 chữ số trong MySQL -

mysql> update DemoTable
set Value=LPAD(FLOOR(RAND() * 999999.99), 6, '0');
Query OK, 6 rows affected (0.15 sec)
Rows matched: 6 Changed: 6 Warnings: 0

Hãy để chúng tôi hiển thị các bản ghi được cập nhật từ bảng -

mysql> select * from DemoTable;

Điều này sẽ tạo ra kết quả sau -

+--------+
| Value  |
+--------+
| 499540 |
| 550607 |
| 254419 |
| 620272 |
| 338104 |
| 829705 |
+--------+
6 rows in set (0.00 sec)