sql - 如何在 SSMS 2012 中创建 UNIQUE 约束

标签 sql sql-server database sql-server-2012 ssms

<分区>

我是 SQL Server 的新手,我使用的是 2012 版。

我有一个具有以下结构的表:

Attendance
--------------
TagID     (FK)
SessionID (FK)       
ScanningTime

我需要基于两列(TagIDSessionID)创建唯一约束

我不知道该怎么做。我创建了一个查询并尝试了这段代码:

ALTER TABLE Attendance ADD CONSTRAINT UNIQUE NONCLUSTERED
(
    TagID,
    SessionID
)

但是当我尝试执行它时,我收到了这个错误:

Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'UNIQUE'.

使用 SSMS 更改表的正确方法是什么?我应该每次都创建一个查询吗?

最佳答案

你快到了。如果您使用 constraint 关键字,您需要提供一个名称。

ALTER TABLE Attendance ADD CONSTRAINT UQ_TagID_SessionID UNIQUE NONCLUSTERED
(
    TagID,
    SessionID
)

或者另一种方式

ALTER TABLE Attendance ADD UNIQUE NONCLUSTERED
(
    TagID,
    SessionID
)

也可以,但是约束是自动命名的

关于sql - 如何在 SSMS 2012 中创建 UNIQUE 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18234087/

相关文章:

mysql - 自定义 MYSQL 自定义排序顺序

c# - 从 visual studio 和 SQL 中的数据列表中获取选定的产品

javascript - 在MySQL中选择多行的前十个条目

SQL 多行转列性能非常慢

sql - 数据库ERD循环查询

node.js - 关于 sequelize 迁移的快速问题

php wordpress 查询

sql-server - 长选择时事务陷入僵局

sql - 展平相交的时间跨度

sql - sql中十进制值的自定义转换