在node中使用MySQL语句插入数据一直报语法错误,这里语法哪里有问题吗
因为character是mysql的保留字(关键字),如果需要使用保留字(关键字)当做字段名或表名时,则必须要在增删改查语句的字段名或表名中添加反引号,否则会造成字段名和保留字(关键字)冲突,从而引发错误:
let sql = "insert into catinfo (kw, name, ename, `character`, detail, imgUrl, imgList) values (?, ?, ?, ?, ?, ?, ?);";
db.query(sql, [kw, name, ename, character, detail, imgUrl, imgList], function(err, result) {
// 继续实现你的逻辑
})
以下答案引用自GPT-3大模型,请合理使用:
,谢谢。
这个错误可能有几个原因:
1. 数据库表没有正确创建,或者列的顺序不正确,请检查数据库结构。
2. 如果字段类型为字符串,请使用引号将其包裹起来,例如:
MySQL:
INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2');
Node.js:
connection.query('INSERT INTO table_name (column1, column2) VALUES (?,?)', ['value1','value2'], function(err, results){
//error handling
});
如果我的回答解决了您的问题,请采纳我的回答