sql - 如何为每个新用户提供从1开始的ID计数器?

标签 sql ruby-on-rails database ruby-on-rails-4 database-design

我正在实现一个多用户网站。他们可以创建“项目”。 当新用户注册并创建他的第一个项目时,我希望它的 ID 为 1,而不是 2728(它的 ID 来自 DB)。

所以我需要某种映射?例如。 |真实元素编号 |假货编号 | 2728 1

那么对于每个帐户,我都会有一个表,其中 fake_id 从 1 开始,每次用户创建项目时递增?

也许还有另一种更好的方法?

最佳答案

我认为您不需要任何新表。只需将 fake_id 列添加到 items 表中,并使用 user_id 确定其范围以确保唯一性。

同时在模型中创建一个自定义验证方法,以便在创建时将 fake_id 分配给 Item。谢谢

关于sql - 如何为每个新用户提供从1开始的ID计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32392085/

相关文章:

mysql - Rails Mysql 适配器尝试查询没有支持表的抽象模型类

mysql - Grails 数据库迁移 - 如何更改十进制数据库字段以具有 3 的比例属性?

mysql - SQL 查询左连接表

sql - 如何强制 SQL Server 登录 nolock 提示

python - Python 3000 上有没有像 RoR 这样的框架?

php - mysql select count 与另一个 select count

c - 使用 syslog 函数将日志值插入数据库

sql - 按两个字段的总和排序

sql - 在 Postgresql 中如何搜索不以字母开头的名称?

ruby-on-rails - has_many是否需要另一端的belongs_to?