Trong MySQL trước 5.5, bạn không thể đặt một biến vào LIMIT
mệnh đề trong thủ tục lưu trữ MySQL. Bạn phải nội suy nó thành một chuỗi và sau đó thực thi chuỗi đó như một truy vấn động.
SET rand_offset = FLOOR(RAND() * (SELECT COUNT(*) FROM all_words));
SET @sql = CONCAT('SELECT word INTO str_rnd_word FROM all_words LIMIT 1 OFFSET ', rand_offset);
PREPARE stmt1 FROM @sql;
EXECUTE stmt1;