我正在尝试通过lambda将数据插入mysql表。
insert.js:
var connection = require('../common/connection');
exports.insertData = async (request, context, callback) => {
var query = "INSERT INTO " + request.tableName + "(" + request.columnsString + ") VALUES ( " + request.valuesString + ")";
await connection.connection().query(query, function (error, results) {
connection.connection().destroy();
if (error) {
callback(error,null);
} else {
console.log(results.insertId);
callback(null, results.insertId);
}
});
};
callinsert.js:
exports.insertCall = async (request, context, callback) => {
var abc = await insert.insertData(request, context, callback);
console.log("abv:", abc);
return abc;
};
此代码返回未定义。
console.log的结果如下:
第一次测试代码时,它给我正确的结果,id的返回值为1。但是第二次,它再次给我1。当我下次运行它时,它给我前一行的ID(即如果插入第3行则返回2,如果插入第4行则返回值为3,依此类推)。有时它返回前一个ID的相同值。没有得到正确的结果。请帮助我在这里找到我做错了。
console.log第一次测试的结果:
INFO abv: undefined
INFO Connected to database.
INFO 1