【问题标题】:Set the start number for auto increment primary key设置自增主键的起始编号
【发布时间】:2016-10-14 12:50:51
【问题描述】:

我正在使用带有 Sails.js(Waterline)的 MySQL 数据库。

如何设置 MySQL 表中从 1000 开始的“id”列的初始值?

attributes: {
  id: {
    type: 'integer'
    // start from 1000
  }
}

【问题讨论】:

  • 我认为sails-mysql/waterline 不支持设置初始自动增量值。也许在 Github 上添加为问题?

标签: node.js sails.js waterline


【解决方案1】:

所以你想

ALTER TABLE model AUTO_INCREMENT = 1000

在水线中,您可以使用.query() 方法运行此查询。但是,由于此查询将重建您的整个表,因此不建议在引导您的应用程序时运行。根据表的大小,它可能会减慢应用的启动速度。

最好的匹配方式是以某种方式挂钩到表创建事件并在上面的查询中运行一次甚至更好:使用迁移https://github.com/BlueHotDog/sails-migrations

进一步阅读:

【讨论】:

  • 如果每次启动都执行这个查询,它不会每次都重置计数器,并且id可能不是主键(复合),cb()也不应该在回调中吗?
猜你喜欢
  • 2010-11-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-16
  • 2021-09-26
  • 2011-12-04
  • 1970-01-01
  • 2018-02-11
相关资源
最近更新 更多