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

3 javascript mysql node.js express sequelize.js

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

这是我的代码:

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

rob*_*lep 11

您没有使用正确的语法:

db.Booking.destroy({ truncate: { cascade: false } })
Run Code Online (Sandbox Code Playgroud)

那应该是:

db.Booking.destroy({ truncate : true, cascade: false })
Run Code Online (Sandbox Code Playgroud)

请参阅文档

  • 它对我不起作用。我没有使用默认设置为空的方法 (2认同)