gpt4 book ai didi

node.js - Sequelize - 更新有触发器的表 - 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 22:59:11 25 4
gpt4 key购买 nike

我对 Sequelize 和 Node.js 还算陌生

我正在尝试将 Sequelize 与 MSSQL 数据库结合使用,并弄清楚我可以用它做什么。

我已经建立了连接,并根据现有表创建了一个模型。

这样的表上有多个触发器。

当我尝试执行这样的事情时

sampletable.update({
NAME: "TEST"
},
{
where: {ID: 0},
silent: true
},
).then(function(result){
console.log(result);
})

其中“sampletable”是导入的模型

var sampletable = sequelize.import('./models/sampletable.js');

使用“SequelizeAuto”创建(基于现有表的结构)

var SequelizeAuto = require('sequelize-auto')
var auto = new SequelizeAuto(config.database, config.username, config.password, config);
auto.run(function (err) {
if (err) throw err;
});

我收到以下错误

"Unhandled rejection SequelizeDatabaseError: The target table 'sampletable' of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause."

语句已执行

Executing (default): UPDATE [sampletable] SET [NAME]=N'test' OUTPUT INSERTED.* WHERE [id] = 0

是否可以使用带有sequelize的触发器更新表?

如果是的话,有人能指出我正确的方向吗?我用谷歌搜索,检查了 doco,但我找不到太多关于它的信息。

TIA

最佳答案

尝试将 hasTrigger: true 添加到您的模型选项中。这可以防止 Tedious 尝试从基表输出结果,而是使用临时表。

关于node.js - Sequelize - 更新有触发器的表 - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52473921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com