在 Sequelize model.destroy({ truncate: true }) 不会重置主键

In Sequelize model.destroy({ truncate: true }) does not reset primary key(在 Sequelize model.destroy({ truncate: true }) 不会重置主键)

本文介绍了在 Sequelize model.destroy({ truncate: true }) 不会重置主键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 Sequelize 中,我使用了这个函数 model.destory({ truncate: true }),它会删除表中的所有数据.但问题是它不会重置表中应该设置为零的主键序列.我正在使用Mysql.有人说Mysql会自动重置主键序列,但在我的情况下没有发生.

In Sequelize, I am using this function model.destory({ truncate: true }), it delete all data in table. But the issue is that it does not reset the primary key sequence in table which should be set to Zero. I am using Mysql. Some said that Mysql automatically reset the primary key sequence, but it is not happening in my case.

这是我的代码:

db.Booking.destroy({ truncate: { cascade: false } })
    .then(() => {
      res.json({ status: true });
    }, (err) => {
      console.log('truncate: ', err);
      res.json(err);
    });

推荐答案

你没有使用正确的语法:

You're not using the correct syntax:

db.Booking.destroy({ truncate: { cascade: false } })

应该是:

db.Booking.destroy({ truncate : true, cascade: false })

请参阅文档.

这篇关于在 Sequelize model.destroy({ truncate: true }) 不会重置主键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在 Sequelize model.destroy({ truncate: true }) 不会重置主键

基础教程推荐