【发布时间】:2020-02-29 20:53:29
【问题描述】:
我做错了什么?
const mariadb = require("mariadb");
(() => {
setTimeout(async () => {
console.log("connecting to db...");
try {
const pool = await mariadb.createPool({
host: "localhost", //172.17.0.1
user: "root",
database: "gamifydb",
port: "3306",
password: "password"
});
const conn = await pool.getConnection();
global.conn = conn;
console.log("mariadb db connected");
} catch (error) {
throw error;
}
}, 1000);
})();
const achievement = {
name: "lorem",
user_id: "lorem",
challenge_id:2,
desc:"lorem"
}
exports.createAchievement = async achievement => {
try {
const response = await global.conn.query(
"INSERT INTO achievements value (?,?,?,?);",
Object.values(achievement)
);
console.log(response);
return response;
} catch (error) {
throw error;
}
};
"(conn=1194, no: 1136, SQLState: 21S01) 列计数与第 1 行的值计数不匹配\nsql: INSERT INTO 成就值 (?,?,?,?); - 参数:['lorem','lorem',2,'lorem']" }
【问题讨论】:
-
这是一个仔细阅读错误信息可以直接找到答案的问题。
标签: mysql sql node.js insert mariadb