我有一个数据库,其中包含一个名为responses
的表格,描述为
+----------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------+------+-----+---------+-------+
| user | char(25) | YES | | NULL | |
| response | text | YES | | NULL | |
+----------+----------+------+-----+---------+-------+
当我插入这样的数据库时:
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
var sql = "INSERT INTO responses (user, response) VALUES ('test_user', 'A')";
connection.query(sql, function (err, result) {
if (err) throw err;
console.log("1 record inserted");
connection.end();
});
});
抛出错误说错误:调用quit后无法将Query排入队列。
我在应用程序中连接到数据库正常,但由于某种原因,这个查询不起作用,有什么建议吗?
答案 0 :(得分:1)
您不需要connect函数,因为如果没有连接,调用查询将为您调用connect。
将连接端放在函数外部。
另请注意,在NodeJ中,您通常仅在应用关闭时关闭连接。它增加了性能,因为不需要重新连接每个新查询
var sql = "INSERT INTO responses (user, response) VALUES ('test_user', 'A')";
connection.query(sql, function (err, result) {
if (err) throw err;
console.log("1 record inserted");
});
connection.end();