我正在使用Sails waterline mysql适配器来管理My-SQL数据库,
我在抑制期间有3个模型我必须在Seire中执行查询,但如果最后一个失败,我必须做回滚。这是可能的水线和交易。
答案 0 :(得分:2)
是的,您可以为此目的使用Model.query函数。它允许您执行任何本机SQL查询。例如
var myQuery = "select * from users";
User.query(myQuery, function(err, result){
if(err){
// error handling here
}
else{
// result handling here
}
})
通过执行控制台日志仔细观察结果对象。
对于您的情况,您需要编写一个SQL存储过程来执行事务中的所有操作。然后您的代码变为
var myQuery = "call store_proc_name(params)";
这里的结果对象会稍微复杂一点。仔细分析。现在,使用本机查询时要小心谨慎,确保转义用户提供的参数以避免SQL注入攻击