我可以在sql中使用bson.objectid.ObjectId作为(主键)id吗?

时间:2016-03-14 09:23:56

标签: python mysql django flask primary-key

我在想如果我不在mysql中使用auto id作为主要ID但是使用其他方法来实现,我可以在mysql中用auto id替换bson.objectid.ObjectId吗?

根据ObjectId描述,它由以下内容组成:

  • 一个4字节的值,表示自Unix纪元以来的秒数
  • 3字节机器标识符
  • 一个2字节的进程ID
  • 一个3字节的计数器,以随机值开始。

它似乎可以提供唯一且不重复的密钥。这是个好主意吗?

1 个答案:

答案 0 :(得分:3)

你当然可以这样做。但有一个问题是,由于数据库本身无法设置,因此您需要编写一些Python代码以确保在保存时设置它。

因为你没有使用MongoDB,我想知道你为什么要使用BSON id。相反,您可能需要考虑使用UUID,它确实可以由db自动设置。