Sequelize.js:ER_ROW_IS_REFERENCED:无法删除或更新父行:外键约束失败

2024-01-20

我的代码是:

DB.sequelize.query('SET FOREIGN_KEY_CHECKS = 0').complete(function(err) {
  if (err) {
    return done(err);
  }
  DB.sequelize.drop();
  return DB.sequelize.sync().complete(function(err) {
    if (err) {
      return done(err);
    }
  });
});

我有一些外键限制,但我认为SET FOREIGN_KEY_CHECKS = 0会忽略这一点并让我放弃。相反,我得到的错误是:ER_ROW_IS_REFERENCED: Cannot delete or update a parent row: a foreign key constraint fails


对于任何使用sequelize 3.15.x 的人来说,他们有重构了他们的查询方法 http://docs.sequelizejs.com/en/latest/api/sequelize/#querysql-options-promise以便初始 SQL 语句之后的所有选项都包含在一个选项对象中。因此答案将如下所示:

DB
    .sequelize
    .query('SET FOREIGN_KEY_CHECKS = 0', {raw: true})
    .then(function(results) {
        DB.sequelize.sync({force: true});
    });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sequelize.js:ER_ROW_IS_REFERENCED:无法删除或更新父行:外键约束失败 的相关文章

随机推荐