我应该将时间用作复合键的一部分还是创建新的主键?

时间:2014-11-10 18:29:31

标签: mysql database

我的数据库中有一个表,它包含两个外键,它们一起仍然不是唯一的,但为它们添加时间/日期会使它们成为唯一的。将这三列作为主键使用是一个好主意,还是应该创建一个新列并使用单独的主键?

2 个答案:

答案 0 :(得分:0)

添加时间戳以从其他2列人工创建复合主键不是一个好主意IMO,因为您可以使用足够快的HW来在数据库中生成两个相同的复合键。

相反,在这种情况下,您可以检查数据库中是否有代理键生成器(通常是某种顺序)。

答案 1 :(得分:0)

否:从here可以理解,添加基于时间的值来构建主键无效。

最好为您的表创建自己的主键。