Để 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() * 3cho 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)