Sử dụng RAND() kết hợp FLOOR() để sinh số nguyên ngẫu nhiên trong khoảng.
Công thức số nguyên [min, max]: FLOOR(min + RAND() * (max - min + 1)). Với 1-3: FLOOR(1 + RAND() * 3).
Cú pháp UPDATE:
UPDATE ten_bang SET ten_cot = 'gia_tri_moi' WHERE ten_cot_id = (SELECT FLOOR(1 + RAND() * 3));
Ví dụ: Cập nhật tên ngẫu nhiên 1 hàng (Id 1-3) thành 'Mary':
CREATE TABLE updateRowWith1To3 (Id INT, Name VARCHAR(100)); INSERT INTO updateRowWith1To3 VALUES (1,'John'), (2,'Sam'), (3,'Carol'), (4,'Mike'), (5,'Bob'), (6,'David');
Thực thi:
UPDATE updateRowWith1To3 SET Name = 'Mary' WHERE Id = (SELECT FLOOR(1 + RAND() * 3));
Kết quả (ví dụ Id=1 được chọn)
+------+-------+ | Id | Name | +------+-------+ | 1 | Mary | | 2 | Sam | | 3 | Carol | | 4 | Mike | | 5 | Bob | | 6 | David | +------+-------+
Lưu ý: Subquery (SELECT FLOOR(1+RAND()*3)) được tính toán 1 lần cho toàn câu UPDATE. Nếu muốn cập nhật nhiều hàng với giá trị ngẫu nhiên khác nhau mỗi hàng, cần dùng teknik khác (ví dụ: JOIN với derived table sinh số ngẫu nhiên).