我正在使用Node.js运行MySQL命令并在插入数据库时出现错误
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)
})
这是我的错误 {错误:ER_PARSE_ERROR:您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行“ 179”,“ Wall St”,“ 89 ft”,“ 2-3”)附近使用“ VALUE”(179,“ Wall St”,“ 89 ft”,“ 2-3”)
代码似乎与其他插入命令类似
答案 0 :(得分:2)
如果您的值由单引号变形,并且在注入值时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)
})