我在rails应用程序的mysql数据库中有一个表格帖子, 当我创建一个新帖子时,主键从1开始,并在创建三个新帖子时增加到2,3,4。
假设我删除了所有帖子,然后我创建了一个新帖子,那么主键应该从1开始,但它从5开始。
我不知道为什么会这样,因为我是mysql和rails的新手。
有没有办法处理这个问题,或者它是mysql数据库的工作方式。
答案 0 :(得分:0)
不建议操作主键,但如果你真的想这样做,你可以在模型中使用after_destroy
回调
after_destroy :truncate_table
private
def truncate_table
Post.connection.execute("TRUNCATE #{Post.table_name};") if Post.count == 0
end