I want to execute this query in rails app
Video.where("category= 'film' AND grant = 1").order('created_at DESC').page(params[:page]).per_page(10)
here grant stores an integer value.
and I am getting following error
Mysql2::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 'grant = 1) ORDER BY created_at DESC LIMIT 10 OFFSET 0' at line 1: SELECT `videos`.* FROM `videos` WHERE (category= 'film' AND grant = 1) ORDER BY created_at DESC LIMIT 10 OFFSET 0
thanks in advance
The problem is with grant. GRANT is a reserved word in MySql. You should use back-ticks around them.
Video.where("category= 'film' AND `grant` = 1").order('created_at DESC').page(params[:page]).per_page(10)
will do the job i guess. Refer Reserved Words
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With