lov*_*iji 240 sql-server ssms sql-server-2008
CREATE TABLE [dbo].[user](
[userID] [int] IDENTITY(1,1) NOT NULL,
[fcode] [int] NULL,
[scode] [int] NULL,
[dcode] [int] NULL,
[name] [nvarchar](50) NULL,
[address] [nvarchar](50) NULL,
CONSTRAINT [PK_user_1] PRIMARY KEY CLUSTERED
(
[userID] ASC
)
) ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)
如何fcode, scode, dcode使用t-sql和/或management studio?为列添加唯一约束?fcode, scode, dcode必须是独一无二的.
mar*_*c_s 397
如果已在数据库中创建表,则可以稍后使用此SQL查询添加唯一约束:
ALTER TABLE dbo.User
ADD CONSTRAINT ucCodes UNIQUE (fcode, scode, dcode)
Run Code Online (Sandbox Code Playgroud)
dev*_*ake 280
通过在表创建上使用约束定义,您可以指定跨越多个列的一个或多个约束.从technet文档中简化的语法采用以下形式:
CONSTRAINT constraint_name UNIQUE [ CLUSTERED | NONCLUSTERED ]
(
column [ ASC | DESC ] [ ,...n ]
)
Run Code Online (Sandbox Code Playgroud)
因此,resuting表的定义是:
CREATE TABLE [dbo].[user](
[userID] [int] IDENTITY(1,1) NOT NULL,
[fcode] [int] NULL,
[scode] [int] NULL,
[dcode] [int] NULL,
[name] [nvarchar](50) NULL,
[address] [nvarchar](50) NULL,
CONSTRAINT [PK_user_1] PRIMARY KEY CLUSTERED
(
[userID] ASC
),
CONSTRAINT [UQ_codes] UNIQUE NONCLUSTERED
(
[fcode], [scode], [dcode]
)
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
Ton*_* L. 45
这也可以在GUI中完成.这是一个向现有表添加多列唯一约束的示例.
在每个窗口中单击" 确定",即可完成.
| 归档时间: |
|
| 查看次数: |
184923 次 |
| 最近记录: |