NodeJS mysql未插入到表中
我有一个数据库,其表名为NodeJS mysql未插入到表中,mysql,node.js,Mysql,Node.js,我有一个数据库,其表名为responses,描述如下 +----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+----------+------+-----+---------+-------+ | user | char(25) | YES | | NULL | |
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后无法将查询排队
我在应用程序中很好地连接到数据库,但由于某些原因,此查询不起作用,有什么建议吗?您不需要connect函数,因为如果未连接,调用查询将为您调用connect 将连接端置于功能外部 还请注意,在节点中,通常只有在应用程序关闭时才关闭连接。它可以提高性能,因为不需要重新连接每个新查询
var sql=“插入响应(用户,响应)值('test_user','A')”;
查询(sql,函数(错误,结果){
如果(错误)抛出错误;
控制台日志(“插入1条记录”);
});
连接。结束()代码>您是否可以尝试只执行此部分而不使用connect part var sql=“INSERT INTO responses(user,response)值('test_user','A')”;查询(sql,函数(err,result){if(err)throw err;console.log(“插入1条记录”);connection.end();});你是说在功能之外吗@AmitNow当我运行此命令时,我得到了相同的错误错误:调用quit后无法将查询排队。
。这可能是DB端权限问题吗?它可能来自应用程序中的其他位置吗?尝试删除连接。end();我尝试了另一个查询,但无论查询放在哪里,似乎都无法工作。解决了这个问题,我调用了底部的connection.end()
,但没有意识到。