Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cập nhật cột với số ngẫu nhiên từ 1 đến 3 trong MySQL


Để cập nhật một cột với giá trị ngẫu nhiên trong khoảng 1-3, sử dụng kết hợp RAND() và FLOOR().

Cú pháp

UPDATE yourTableName 
SET yourColumnName = FLOOR(1 + RAND() * 3);

Giải thích:

  • RAND() sinh số thực ngẫu nhiên từ 0 đến < 1.
  • RAND() * 3 cho khoảng [0, 3).
  • 1 + ... dịch chuyển thành [1, 4).
  • FLOOR() làm tròn xuống: 1, 2, hoặc 3.

Ví dụ minh họa

mysql> CREATE TABLE UpdateNumber1To3 (MyNumber INT);
Query OK, 0 rows affected (0.61 sec)

mysql> INSERT INTO UpdateNumber1To3 VALUES (100), (140), (130);
Query OK, 3 rows affected

mysql> SELECT * FROM UpdateNumber1To3;
+----------+
| MyNumber |
+----------+
| 100      |
| 140      |
| 130      |
+----------+

Cập nhật:

mysql> UPDATE UpdateNumber1To3 
       SET MyNumber = FLOOR(1 + RAND() * 3);
Query OK, 3 rows affected (0.19 sec)

Kiểm tra kết quả (giá trị sẽ khác mỗi lần chạy):

+----------+
| MyNumber |
+----------+
| 1        |
| 2        |
| 1        |
+----------+

Mở rộng: Khoảng tùy ý [min, max]

UPDATE table_name 
SET column = FLOOR(min + RAND() * (max - min + 1));

Ví dụ sinh số 10-20: FLOOR(10 + RAND() * 11)