mysql - Sequelize,在多个表中批量创建,如果出现错误则所有创建失败

标签 mysql sequelize.js

我有下表:

  • 代理
  • 组织
  • 代理组织

我想创建一个新代理 (id: 1) 并将其链接到组织 (id:3) 但由于某种原因,我的代码在代理组织中添加了一条记录:

agentId:1,(这是一个 DataTypes.INTEGER)

organizationId:“bla”(这是 DataTypes.INTEGER)

这会为agentorganization生成一个错误,并且不会注入(inject)它,但代理将被注入(inject)到代理表中。这会产生错误的数据,我想避免它。

所以我的问题:

如果创建失败,如何取消所有创建?

最佳答案

使用交易http://docs.sequelizejs.com/en/latest/docs/transactions/

sequelize.transaction(function (t) {
  model.bulkcreate(data, { transaction: t });
});

关于mysql - Sequelize,在多个表中批量创建,如果出现错误则所有创建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30445349/

相关文章:

javascript - Sequelize 预加载根本不起作用

node.js - POST 请求 ReactJS 后列表项未呈现

c# - 从 mysql 数据库保存和检索图像

MySQL以不同的方式使用Count

php - 将行上的列的值设置回 NULL

mysql - 在 1 个 mySQL 查询中使用 2 个 INNER JOINS 时出现问题

PHP MySQL GET 代码审查

node.js - 在nodejs中 Sequelize findAll排序顺序

node.js - 如何使用 sequelize 从现有表中选择数据

node.js - Sequelize one to Many 插入不起作用?