jas*_*rth 11 sql database sql-server ssms sql-server-2012
我是SQL Server的新手,我使用的是2012版.
我有一个具有以下结构的表:
Attendance
--------------
TagID (FK)
SessionID (FK)
ScanningTime
Run Code Online (Sandbox Code Playgroud)
我需要基于两列(TagID
和SessionID
)创建一个唯一约束
我不知道该怎么做.我创建了一个查询并尝试了这段代码:
ALTER TABLE Attendance ADD CONSTRAINT UNIQUE NONCLUSTERED
(
TagID,
SessionID
)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试执行它时,我收到此错误:
消息156,级别15,状态1,行2
关键字"UNIQUE"附近的语法不正确.
使用SSMS更改表格的正确方法是什么?我应该每次创建一个查询吗?
Mar*_*ith 10
你快到了.如果您使用constraint
关键字,则需要提供名称.
ALTER TABLE Attendance ADD CONSTRAINT UQ_TagID_SessionID UNIQUE NONCLUSTERED
(
TagID,
SessionID
)
Run Code Online (Sandbox Code Playgroud)
或者
ALTER TABLE Attendance ADD UNIQUE NONCLUSTERED
(
TagID,
SessionID
)
Run Code Online (Sandbox Code Playgroud)
也有效,但约束是自动命名的
如果您更喜欢通过GUI而不是via ALTER
语句来执行此操作,您还可以右键单击对象资源管理器中的表,选择"设计",然后右键单击空白背景上的某个位置,并选择"索引/键".这将打开一个对话框,您可以选择""唯一键"作为类型.
通过GUI进行更改是您很少采取行动的快速方法,因此无法确定语法.
许多Management Studio对话框 - 但不是这个,可能是因为它是表设计器对话框的子对话框 - 左上角有一个"脚本"按钮,它将您通过GUI配置的操作写入查询窗口,以便您如果您需要类似的操作,可以保存它们以用于将来的similr任务,或者复制和粘贴它们.
归档时间: |
|
查看次数: |
10721 次 |
最近记录: |