我正在 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
是一个表,num
、place
和 person
是其中单个项目的值列表。我还在 ruby 脚本中使用了它。
我收到语法错误。错误信息是:
您的 SQL 语法有错误,请检查与您的 MySQL 服务器版本相对应的手册,了解在 '`?) )) AND (list.update_at > “2018-06-05” 附近使用的正确语法)) ORDER BY list.person, 或`'
我无法弄清楚这个问题。请帮助我。
最佳答案
查看查询的 ORDER BY 部分
ORDER BY list.person, list.state='closed' DESC, list.updated_at DESC
list.state 不应该有 ='close'
尝试将其全部更改为
ORDER BY list.person, list.state DESC, list.updated_at DESC
关于mysql - SQL 查询中的语法错误。无法发现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50730737/