我一直试图在这个查询中找到问题,但似乎找不到它,这让我发疯。这是我的代码:
sql.query("INSERT INTO coinflips (host,host_side,items,join,expires,value,secret,hash,winningPercentage) VALUES (?,?,?,?,?,?,?,?,?)",[" "," "," "," "," ",0," "," ",0.5],(err)=>{
if(err) return console.log(err);
});
但是,我收到以下错误:
'您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在\'join,expires,value,secret,hash,winingPercentage) 附近使用的正确语法 VALUES (\'\',\'\',\'\',\'\',\'\',0,\' 在第 1 行
这是数据库:
我从来没有遇到过转义查询的问题,但突然这个问题停止了工作,我不明白为什么。
最佳答案
join
是保留字,您必须使用反引号将其转义:
sql.query("INSERT INTO coinflips (host,host_side,items,`join`,expires,value,secret,hash,winningPercentage) VALUES (?,?,?,?,?,?,?,?,?)",[" "," "," "," "," ",0," "," ",0.5],(err)=>{
// Here -------------------------------------------^----^
if(err) return console.log(err);
});
关于mysql - 为什么mysql转义会破坏整个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56049365/