【发布时间】:2017-11-22 19:32:31
【问题描述】:
我对使用 node 和 express 有点陌生,我正在尝试在我的 node 应用程序中简单地插入 mysql 数据库,但我不断收到 ER_PARSE_ERROR [i].year, courseData[i].term....
我试图查看一个课程对象数组 (courseData),将每个值插入到它们的列名中。这是我所在的地方
for (var i = 0; i < courseData.length; i++){
var i = 1;
let sql = "INSERT INTO Course (year, term, code, title, "
+ "capacity, enrollment, credits, "
+ "mon, tue, wed, thu, fri, sat, "
+ "instructorLast, instructorFirst, "
+ "startDate, endDate, building, room) "
+ "VALUES (courseData[i].year, courseData[i].term, courseData[i].code, "
+ "courseData[i].title, courseData[i].capacity, courseData[i].enrollment, "
+ "courseData[i].credits, courseData[i].mon, courseData[i].tue, "
+ "courseData[i].wed, courseData[i].thu, courseData[i].fri "
+ "courseData[i].sat, courseData[i].instructorLast, courseData[i].instructorFirst, "
+ "courseData[i].startDate, courseData[i].endDate, courseData[i].building, courseData[i].room); ";
db.query(sql, function(err, result, fields){
console.log(err);
});
}
我尝试了单引号、双引号、表名周围的反引号,但没有任何效果。没有看到任何类似的问题,所以我想我会碰碰运气。
谢谢!
【问题讨论】:
-
year是 MySQL 的保留字。您需要在使用它的任何地方使用反引号转义该列。 -
啊不知道。更改我的列名可能会更容易吗?
-
从长远来看肯定会容易得多。
dYear是我的首选。