Mysql 与插入行混淆
我正在使用Node.js运行一个MySQL命令,并在插入datatbase时出错Mysql 与插入行混淆,mysql,node.js,database,Mysql,Node.js,Database,我正在使用Node.js运行一个MySQL命令,并在插入datatbase时出错 const db = require("../db.js") db.query('INSERT INTO subways (listing_id,name,distance,lines) VALUES (?,?,?,?)', [results[0]['listing_id'], closestStations[index].properties.name, distance.distance.text, clos
const db = require("../db.js")
db.query('INSERT INTO subways (listing_id,name,distance,lines) VALUES (?,?,?,?)', [results[0]['listing_id'], closestStations[index].properties.name, distance.distance.text, closestStations[index].properties.line], function (error, subwayResults, fields) {
if (error) console.log(error)
})
这是我的错误
{Error:ER_PARSE_Error:SQL语法有错误;请查看与MySQL服务器版本相对应的手册,以了解在第1行中使用近“行”值(179、'Wall St'、'89 ft'、'2-3')的正确语法
该代码与其他insert命令类似如果您的值被单引号扭曲,并且sql字符串被单引号包装,则在插入值时会获得无效的引号序列 尝试对sql代码使用双引号
const db = require("../db.js")
db.query("INSERT INTO subways (listing_id,name,distance,`lines`)
VALUES (?,?,?,?)", [results[0]['listing_id'],
closestStations[index].properties.name, distance.distance.text,
closestStations[index].properties.line], function (error, subwayResults, fields) {
if (error) console.log(error)
})
如果值被单引号扭曲,并且sql字符串在注入值时被单引号包装,则会获得无效的引号序列 尝试对sql代码使用双引号
const db = require("../db.js")
db.query("INSERT INTO subways (listing_id,name,distance,`lines`)
VALUES (?,?,?,?)", [results[0]['listing_id'],
closestStations[index].properties.name, distance.distance.text,
closestStations[index].properties.line], function (error, subwayResults, fields) {
if (error) console.log(error)
})
您正在使用保留的mysql关键字
行
避免此类列名或使用``在查询中包装列名您正在使用保留的mysql关键字行
避免此类列名或使用``在查询中包装列名,因为第二个错误是值(182,\'Wall St\'、\'89 ft\'、\'2-3\'、182,\'Broad St\'、\'0.1 mi\'、\'J-Z\'、1\'在第1行'@yosefyomtobian.'更好地解释你的评论..不要理解,当它给我一个解析错误时,它似乎有双引号和单引号的问题,然后显示值的真实内容..请..我还包装了单词/保留)使用backtics的行..答案更新我在问题错误中显示了实际内容。但是我认为你对报价问题的正确看法也是backtics会做什么?这是有意义的,因为第二个错误是值(182,\'Wall St\'、\'89 ft\'、\'2-3\'、182,\'Broad St\'、\'0.1 mi\'、\'J-Z\'、1\'在第1行'@yosefyomtobian.'更好地解释你的评论..不要理解,当它给我一个解析错误时,它似乎有双引号和单引号的问题,然后显示值的真实内容..请..我还包装了单词/保留)使用backtics的行。答案更新我在问题错误中显示了实际内容。但是我认为你对报价问题的正确性也是backtics会做什么?