与插入行混淆

时间:2018-12-09 15:53:08

标签: mysql node.js database

我正在使用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”)

代码似乎与其他插入命令类似

1 个答案:

答案 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)
 })