是否可以制作统一的插入功能
Is it possible to make unified insert function
所以我有这段代码,但是在实际使用之前我不知道该函数需要多少个参数
function insert(...args) {
return new Promise((resolve, reject) => {
// ↓↓↓ - here is the problem
db.query('INSERT INTO `?` VALUES(?,?,?,?,?,?);', args, (err, rows) => {
return err ? reject(err) : resolve(rows);
});
});
}
是否可以修改此函数,以便我可以根据需要插入尽可能多的参数?
最简单的解决方案可能是,使用 args.length
生成适当数量的 ?
function insert(...args) {
return new Promise((resolve, reject) => {
let qm = Array(args.length-1).fill('?', 0).join(',');
let query = `INSERT INTO \`?\` VALUES(${qm});`
db.query(query, args, (err, rows) => {
return err ? reject(err) : resolve(rows);
});
});
}
但您可能应该坚持 Wiktor Zychla 的建议,不要尝试编写自己的查询生成器。特别是——没有冒犯——如果你需要在那个层面上提问......
所以我有这段代码,但是在实际使用之前我不知道该函数需要多少个参数
function insert(...args) {
return new Promise((resolve, reject) => {
// ↓↓↓ - here is the problem
db.query('INSERT INTO `?` VALUES(?,?,?,?,?,?);', args, (err, rows) => {
return err ? reject(err) : resolve(rows);
});
});
}
是否可以修改此函数,以便我可以根据需要插入尽可能多的参数?
最简单的解决方案可能是,使用 args.length
生成适当数量的 ?
function insert(...args) {
return new Promise((resolve, reject) => {
let qm = Array(args.length-1).fill('?', 0).join(',');
let query = `INSERT INTO \`?\` VALUES(${qm});`
db.query(query, args, (err, rows) => {
return err ? reject(err) : resolve(rows);
});
});
}
但您可能应该坚持 Wiktor Zychla 的建议,不要尝试编写自己的查询生成器。特别是——没有冒犯——如果你需要在那个层面上提问......