【发布时间】:2021-05-07 00:15:43
【问题描述】:
我正在尝试使用 mysql 包在 discordjs 中进行 sql 查询。
查询(如果在 sql server 中使用)按预期完美运行,
但我得到一个 PARSE ERROR 试图在 js 中使用相同的查询:
SET @ROW_NUMBER = 0; SELECT s.level,s.exp,s.number
FROM ( SELECT userID,level,exp,(@ROW_NUMBER:=@ROW_NUMBER + 1 ) AS number FROM levels ORDER BY level DESC) AS s
WHERE userID = "${userID}";
discordjs中的代码:
//some code...
con.query(`SET @ROW_NUMBER = 0; SELECT s.level,s.exp,s.number
FROM ( SELECT userID,level,exp,(@ROW_NUMBER:=@ROW_NUMBER + 1 ) AS number
FROM levels ORDER BY level DESC) AS s
WHERE userID ="${userID}";`,(err,rows) =>{
if(err)return console.log(err);
//other code
我得到的错误:
code: 'ER_PARSE_ERROR',
errno: 1064,
sqlMessage: "You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax to use near 'SELECT s.level,s.exp,s.number FROM ( SELECT userID ,level ,exp ,(@ROW_NUMBER:...' at line 1",
sqlState: '42000',
index: 0,
sql: 'SET @ROW_NUMBER = 0; SELECT s.level,s.exp,s.number FROM ( SELECT
userID ,level ,exp ,(@ROW_NUMBER:=@ROW_NUMBER + 1 ) AS number FROM levels
ORDER BY level DESC) AS s WHERE userID = "258217948819357697";'
【问题讨论】:
标签: javascript mysql discord.js mysql-error-1064