MySQL插入数据一直提示语法错误

在node中使用MySQL语句插入数据一直报语法错误,这里语法哪里有问题吗

img

因为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  
});

如果我的回答解决了您的问题,请采纳我的回答