sql查询中的语法错误找不到错误

rqqzpn5f  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(318)

我正在用mysql为我的数据库编写测试。

con.query(“SELECT  `list`.* FROM `list`  WHERE `list`.`place` = 86 AND `list`.`person` = \"#{person_id}\" AND (( (list.state = 'open' AND num=\"#{num}\") || (list.state = ?) )) AND (list.updated_at > \"2018-06-05\") ORDER BY list.person, list.state='closed' DESC, list.updated_at DESC LIMIT 50 OFFSET 1”)
``` `list` 是一张table `num` ,  `place` ,和 `person` 是列表中单个项的值。我还在ruby脚本中使用它。
我得到一个语法错误。错误消息是: `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 ‘`?) )) AND (list.update_at > “2018-06-05”)) ORDER BY list.person, or`’` 我搞不懂这个问题。请帮帮我。
55ooxyrt

55ooxyrt1#

按查询的一部分查看顺序

ORDER BY list.person, list.state='closed' DESC, list.updated_at DESC

list.state不应具有“closed”
试着把它全部改成

ORDER BY list.person, list.state DESC, list.updated_at DESC
jbose2ul

jbose2ul2#

我想你用错了双引号。你有 . 尝试 " 相反。

相关问题