删除以前的数据后,如何重新启动PostgreSQL中的表的id计数?

SL_*_*ser 8 database postgresql ruby-on-rails

我在Rails 2.3.8上使用PostgreSQL数据库,我需要在我的表上重启自动增量ID.我怎样才能做到这一点?

Ket*_*ema 12

如果截断表,则可以在末尾使用RESTART IDENTITY子句​​.

例:

TRUNCATE TABLE foo RESTART IDENTITY;

TRUNCATE DOCUMENTATION


Rub*_*der 9

您可以通过以下方式执行此操作:

ActiveRecord::Base.connection.execute("TRUNCATE TABLE your_table_name RESTART IDENTITY")


tea*_*bob 5

您可以使用"alter sequence"直接在PostgreSQL中完成:http://www.postgresql.org/docs/current/static/sql-altersequence.html

特别是"重启"

我不知道你将如何通过rails抽象来做到这一点.


Nun*_*lva 5

尝试:

ActiveRecord::Base.connection.reset_pk_sequence!(table_name)
Run Code Online (Sandbox Code Playgroud)

并查看此答案以获取更多详细信息:https : //stackoverflow.com/a/7814519/1392282