我对MySql数据库的Rest调用有问题。
我使用JS对象并通过使用java后端的rest get调用发送它。
requestParams: {
pageStart: 0,
results: 10
}
我已为此请求配置了查询
"get-users" : "SELECT * FROM ${_dbSchema}.${_table} LIMIT ${pageStart}, ${results}"
但是queryParams会在后端将字符串转换为字符串,并且在响应中我会收到此错误
{"error":500,"reason":"Internal Server Error","message":"DB reported failure executing query SELECT * FROM shema.user LIMIT ?, ? with params: {results=10, pageStart=0} error code: 1064 sqlstate: 42000 message: 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 ''0', '10'' at line 1"}
我可以在sql-query中解决这个问题吗?
答案 0 :(得分:0)
从错误消息中:
{“error”:500,“reason”:“内部服务器错误”,“消息”:“DB报告失败执行查询SELECT * FROM shema.user LIMIT?,?with params:{results = 10,pageStart = 0}错误代码:1064 sqlstate:42000消息:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在第1行“0”,“10”附近使用正确的语法}
似乎LIMIT
子句中的数值被设置为字符串而不是数字,因为它们用单引号括起来,例如''0', '10''
,从错误通知的摘录中,每个数字(0
和10
)如何用单引号'0'
和'10'
括起来。