gpt4 book ai didi

sql - rails 种子 : How to truncate DB table?

转载 作者:行者123 更新时间:2023-11-29 11:18:44 25 4
gpt4 key购买 nike

在将测试数据播种到数据库表之前,我需要截断表(我需要重置主键),我正在尝试这样做:

ActiveRecord::Base.connection.execute("TRUNCATE users")

但是当我从数据库中打印出数据时,我仍然看不到从 1 开始计数主键。

我做错了什么?

编辑:

此外,我尝试在终端中手动运行到 PostgreSQL 数据库

truncate users

但是主计数仍然不是从 1 开始的。

解决方案:

在 Postgres 中,运行:

ALTER SEQUENCE users_id_seq RESTART WITH 1;

最佳答案

MySQL 中,TRUNCATE table; 删除所有行重置自动递增计数器。

PostgreSQL 中它不会自动执行此操作。您可以使用 TRUNCATE TABLE table RESTART IDENTITY;

仅作记录:在 SQLite 中,没有 TRUNCATE 语句,而是

DELETE FROM table;
DELETE FROM sqlite_sequence WHERE name='table';

关于sql - rails 种子 : How to truncate DB table?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15099737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com