【发布时间】:2018-08-29 08:46:00
【问题描述】:
您好,我正在构建一个 Django 应用程序,在此期间我正在将测试上传到我的数据库中,然后删除数据。我知道,当我这样做时,下一个插入将在插入自动增量主键 int 时“从中断处继续”。
即:
我在表“样本”中插入 3 行:
auto_id | sample
1 | JSUDH172
2 | QIUWJ185
3 | PNMSY111
当我删除这些并再次输入时,它将从 4 开始:
auto_id | sample
4 | JSUDH172
5 | QIUWJ185
6 | PNMSY111
我知道这是为了阻止 Django 覆盖主键而内置的,但是当主键不再存在时,它(主要从肤浅的角度来看)让我很恼火,因为它没有重置。在此开发过程中,我将数千行上传到某些表中,因此有时它会开始成百上千。
我知道我总是可以在开发完成后“从头开始”重新启动项目,但我想知道是否有人有任何有用的解决方法,或者人们是否只是保持原样(如果他们和我的观点相同)
谢谢
【问题讨论】:
-
表面上的烦恼是可以忍受的。重新播种然后更新子表中的所有引用的替代方法比任意 ID 更痛苦。如果您担心 ID 空间问题,您可以针对另一个数据库运行测试
-
您使用的是哪种 RDBMS?后格雷斯? SQL 服务器?您可以生成您的迁移,然后通过添加 sql 命令来重新设置您的身份列来修改它。或者可能使用固定装置?
-
我正在使用 MySQL