Cách cập nhật bản ghi trong cột với số ngẫu nhiên trong MySQL
Hãy tạo một bảng trước:
mysql> create table DemoTable746 (
Number int
);
Query OK, 0 rows affected (0.56 sec)
Chèn một số bản ghi vào bảng bằng lệnh insert:
mysql> insert into DemoTable746 values(100); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable746 values(200); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable746 values(300); Query OK, 1 row affected (0.31 sec) mysql> insert into DemoTable746 values(400); Query OK, 1 row affected (0.20 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 DemoTable746;
Điều này sẽ tạo ra đầu ra sau:
+--------+ | Number | +--------+ | 100 | | 200 | | 300 | | 400 | +--------+ 4 rows in set (0.00 sec)
Truy vấn sau cập nhật bản ghi với số ngẫu nhiên:
mysql> update DemoTable746 set Number=CAST(RAND() * 10000 AS UNSIGNED); Query OK, 4 rows affected (0.13 sec) Rows matched: 4 Changed: 4 Warnings: 0
Kiểm tra lại các bản ghi của bảng:
mysql> select * from DemoTable746;
Điều này sẽ tạo ra đầu ra sau (kết quả sẽ khác nhau mỗi lần chạy):
+--------+ | Number | +--------+ | 4422 | | 1350 | | 3485 | | 3371 | +--------+ 4 rows in set (0.00 sec)
Giải thích: RAND() sinh số thực ngẫu nhiên [0,1). Nhân với 10000 cho khoảng [0,10000). CAST(... AS UNSIGNED) chuyển sang số nguyên không dấu.