gpt4 book ai didi

mysql - 如果所有记录都被删除,如何在 Rails 应用程序中重置 mysql 中的主键

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

我在 Rails 应用程序的 mysql 数据库中有一个表 posts,当我创建一个新帖子时,主键从 1 开始,并在创建另外三个新帖子时递增到 2,3,4。

假设我删除所有帖子,然后创建一个新帖子,那么主键应该再次从 1 开始,但它是从 5 开始。

我不知道为什么会这样,因为我是 mysql 和 Rails 的新手。

有没有办法处理这个问题,或者这是 mysql 数据库的工作方式。

最佳答案

不建议操作主键,但如果您确实想这样做,可以在模型中使用 after_destroy 回调

after_destroy :truncate_table

private

def truncate_table
Post.connection.execute("TRUNCATE #{Post.table_name};") if Post.count == 0
end

关于mysql - 如果所有记录都被删除,如何在 Rails 应用程序中重置 mysql 中的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32642836/

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