对于我的一个表(让我们称之为“表A”),在SQLite中有一个SQLite列(“名称”),我正在考虑使用该列作为表的键
我看到继续使用标准的“rowid列”(带有自动增量的整数)的原因是名称可能会更改,在这种情况下,我必须更新与表A的关系的表。
使用TEXT列作为键的原因是,它占用的空间更小,并且使数据库中的内容更加优雅(虽然在Python代码中不那么优雅,因为我需要进行额外的更新)。
还有其他事情要考虑吗?您会做什么选择,这取决于引用表A的其他表的数量吗?
发布于 2018-12-27 17:40:09
我看到继续使用标准的“rowid列”(带有自动增量的整数)的原因是名称可能会更改,在这种情况下,我必须更新与表A的关系的表。
这是最好的理由不去做你想做的事。
由于id已经更改,您可能不得不更新其他表中的外键,这是不值得的。假设一个用户试图更改名称,但它失败了,因为您忘记将带有外键的最新表添加到需要更改的表列表中。
https://softwareengineering.stackexchange.com/questions/384612
复制相似问题