【问题标题】:is it possible for two rows of a column (primary key) of the table to have same character/value with same foreign key(another column)表的一列(主键)的两行是否有可能具有相同的字符/值和相同的外键(另一列)
【发布时间】:2026-02-03 12:00:01
【问题描述】:

表的一列(主键)的两行是否可以具有相同的字符/值和相同的外键(另一列)?

参考图片

【问题讨论】:

  • 主键始终具有唯一值,但外键可以具有重复值,除非未在其上创建唯一约束。
  • 作为主键中的 char/value 列,因此不可能在两行以上具有像 aaa 这样的相同值。
  • primary key 在定义上是独一无二的。 Foreign Key 值必须在主表的 primary key 值的域中。

标签: sql-server


【解决方案1】:

主键的逻辑是,它必须为每一行数据包含一个唯一的值,所以这是不可能的。如果您尝试放置相同的 PK 它会抛出类似的错误

违反主键约束“PK_table”。无法在对象 'dbo.table 中插入重复键。重复键值为 (aaa)。

【讨论】:

    最近更新 更多