Rails: find_by_sql and PREPARE stmt FROM... i cant make it work
- by Totty
I have this query and I have an error:
images = Image.find_by_sql('PREPARE stmt FROM \'
SELECT *
FROM images AS i
WHERE i.on_id = 1 AND i.on_type = "profile"
ORDER BY i.updated_at
LIMIT ?, 6\
'; SET @lower_limit := ((5 DIV 6) * 6); EXECUTE stmt USING @lower_limit;')
Mysql::Error: You have an error in
your SQL syntax; check the manual that
corresponds to your MySQL server
version for the right syntax to use
near 'SET @lower_limit := ((5 DIV 6) *
6); EXECUTE stmt USING @lower_limit'
at line 1: PREPARE stmt FROM ' SELECT
* FROM images AS i WHERE i.on_id = 1 AND i.on_type = "profile" ORDER BY
i.updated_at LIMIT ?, 6'; SET
@lower_limit := ((5 DIV 6) * 6);
EXECUTE stmt USING @lower_limit;
EDIT:
after finding the answer to: http://stackoverflow.com/questions/2566620/mysql-i-need-to-get-the-offset-of-a-item-in-a-query i need another help here to port it to rails.