表中是否需要单独的主键列?

时间:2013-01-22 17:45:38

标签: sql database

我的表中有名称id的列。 id是表中的主键。我想知道有必要为id设置单独的列,因为它是我表中的主键。

4 个答案:

答案 0 :(得分:1)

如果没有单独的列,则可以将现有列作为主键,如果它可以唯一地标识每个记录。

答案 1 :(得分:1)

让事情变得简单总是更好。如果你已经有一个标识记录的列,那就没关系 - 不要添加新的。

还有一种称为复合主键的东西。如果2列或更多列的组合始终创建唯一序列,则可以使用它。比你真的不需要'Id'栏。事实上,有些框架不喜欢这种方法。

在您的情况下,您已经拥有的列应该足够了。

答案 2 :(得分:0)

在以下情况下,任何字段或字段组合都可以是主键:

  1. 这些字段中的值始终为非null。
  2. 这些字段中包含值的记录是唯一的。
  3. 这些字段是不可变的。也就是说,您不会更改这些字段的值 创建记录后。

答案 3 :(得分:0)

PRIMARY KEY约束唯一地标识数据库表中的每条记录,如果您的表已经包含该列,则不需要添加另一列。