我在rails项目中有一个用户迁移文件。我想让我的用户表ID从10000开始。像这样link:
execute "ALTER TABLE users AUTO_INCREMENT = 10000;"
在此之后,我想设置小于10000的id。例如,我想让威廉的id为1,我应该怎么做?
答案 0 :(得分:1)
从这篇文章link
ALTER TABLE table_name AUTO_INCREMENT = value;
在ALTER TABLE子句和值之后指定表名 我们想要在表达式AUTO_INCREMENT = value中重置为。
请注意,该值必须大于或等于当前值 自动增量列的最大值。
但实际上我可以通过赋予“:id”属性等于10000而创建User。
User.create(:id=>1, :name=>'William')
也谢谢@SRDP。
<强> IMPROTANT:强> 如果您设置:id = 1,则用户ID可以从1开始。因此,首先将用户设置为10000,然后创建低于10000的任何用户。
答案 1 :(得分:0)
尝试下面的内容,但我不建议这是一个很好的做法。
首先创建记录,这样它就会有一些id,即10067或者其他什么东西,现在假设你想要将ssi记录分配给一个id,而这个id不是在你的情况下创建的,即id&lt; 1000你可以做的是
User.where(id: 1).update_all id: 10067