2015-04-01 37 views
0

我怎样才能创建一个字段(非主要的ID)在一个自动增加像一个ID,但从数字10,000开始的Rails表中?我的应用程序使用的sqlite3和轨道4如何在轨道中创建INT字段,以10001开始自动增量?

谢谢

建议的解决方案并没有解决我的问题。我正在寻找一个原始的SQL答案。

+1

可能重复http://stackoverflow.com/questions/692856/set-start-value -for-autoincrement-in-sqlite) – 2015-04-01 21:21:54

+0

此答案不回答我的问题。我正在寻找使用原始sql的解决方案。 – davefogo 2015-04-01 22:51:23

+0

为什么你想这样做?请描述你试图达到的目标。 – spickermann 2015-04-02 00:23:05

回答

0

如果您在一个表上有两个自动增量列,则两个值都将始终保持同步(由起始值给定的偏移量)。因此,在一个表上有两个独立的自动增量列没有什么意义。这只会浪费磁盘空间。这就是说:有些数据库引擎支持组合的自动增量列(依赖于其他列的自动增量列),但afaik没有引擎支持两个独立的列。

一个简单的解决办法是这样的:

def secondary_id 
    id + 10_000 
end 
([自动增量SQLite中设置初始值]的
+0

谢谢,这是有道理的! – davefogo 2015-04-02 01:10:58

+0

我想知道在哪里放置这种方法?它会在控制器中吗?其他方法(索引,show等?) – davefogo 2015-04-02 16:18:43

+0

不,它属于模型。 – spickermann 2015-04-02 21:02:09

相关问题