我的数据库中有一个表,它包含两个外键,它们一起仍然不是唯一的,但为它们添加时间/日期会使它们成为唯一的。将这三列作为主键使用是一个好主意,还是应该创建一个新列并使用单独的主键?
答案 0 :(得分:0)
添加时间戳以从其他2列人工创建复合主键不是一个好主意IMO,因为您可以使用足够快的HW来在数据库中生成两个相同的复合键。
相反,在这种情况下,您可以检查数据库中是否有代理键生成器(通常是某种顺序)。
答案 1 :(得分:0)
否:从here可以理解,添加基于时间的值来构建主键无效。
最好为您的表创建自己的主键。