我正在尝试在表中插入一个新值(使用 node.js),同时使用从表中选择 MAX 获取要插入的 ID。首先我尝试了这个:
var nova = {
Id: 'Select MAX(Id)+1 from TABELA',
Id_novo: dados_da_msg[1],
Nome: dados_da_msg[2],
};
connection.query('INSERT INTO TABELA SET ?', nova, function(err, result) {
if (err)
console.log("ERROR23: " + err.message);
});
这没有用。它总是返回 0 并且违反了主键。然后我尝试了这个
var sql = "INSERT INTO TABELA (Id, Id_novo, Nome) Select MAX(Id)+1,'"+dados_da_msg[1]+"','"+dados_da_msg[2]+"' from TABELA;";
connection.query(sql, function(err, result) {
if (err)
console.log("ERROR23: " + err.message);
});
这有效,但容易受到 SQLinjections 攻击。任何人都知道如何使用第一种语法来实现这一点?