Sql 如何在第一列中具有相同的值,但仅当第二列不同时才具有相同的值

Sql 如何在第一列中具有相同的值,但仅当第二列不同时才具有相同的值,sql,sql-server,database,Sql,Sql Server,Database,我有一个SQL Server中的“课程”表 LessonId | Name | SectionId | Description 我可以在名称和节ID上创建唯一约束吗 Name可以相同,但前提是SectionId不同 SectionId是外键 例如: | Name | SectionId | +-----------+-----------+ | Basics | 1 | | Basics | 2 | | Lesson 2 | 1

我有一个SQL Server中的“课程”表

LessonId | Name | SectionId | Description
我可以在
名称
节ID
上创建唯一约束吗

  • Name
    可以相同,但前提是
    SectionId
    不同
  • SectionId
    是外键
例如:

| Name      | SectionId |
+-----------+-----------+
| Basics    | 1         |
| Basics    | 2         |
| Lesson 2  | 1         |

谢谢

是的,您可以在两列上创建唯一约束:

alter table lessons add constraint unq_ lessons_name_sectionid on (name, sectionid);

您也可以使用唯一索引来执行此操作。

更改表课程添加约束unq\u课程\u名称\u节ID唯一(名称,节ID)非常感谢