Je cette requête et j'ai une erreur:problème Rails trouver par sql
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: après avoir trouvé la réponse à: i MySQL: I need to get the offset of a item in a query besoin d'une autre aide ici au port à rails.
J'ai cette erreur maintenant Mysql :: Erreur: Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de 'profil' ORDER BY i.updated_at LIMIT?, 6 '; SET @lower_limit: = ((5 DIV 6) * 'à la ligne 1: PREPARER stmt FROM' SELECT * FROM images AS i O WH i.on_id = 1 ET i.on_type = 'profil' COMMANDER PAR i.updated_at ? LIMITE, 6' ; SET @lower_limit: = ((5 DIV 6) * 6); EXECUTE stmt UTILISATION @lower_limit; –
maintenant ceci: Mysql :: erreur: Vous avez une erreur dans votre syntaxe SQL; vérifiez la manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de 'profil' ORDER BY i.updated_at LIMIT ?, 6 '; SET @lower_limit: = ((5 DIV 6) * 6);' à la ligne 1: PREPARER stmt FROM 'SELECT * FROM images AS i OERE i.on_id = 1 ET i.on_type =' profile 'ORDRE BY i.updated_at LIMIT ?, 6'; SET @lower_limit: = ((5 DIV 6) * 6); EXECUTE stmt UTILISER @lower_limit; –