sha*_*oth 6 index sql-server constraint ddl
在 SQL Server 中,我部署了一个带有UNIQUE约束的表:
CREATE TABLE [dbo].[Something] (
[IdentityId] UNIQUEIDENTIFIER UNIQUE NOT NULL DEFAULT NEWID()
-- Whatever else...
)
Run Code Online (Sandbox Code Playgroud)
这使得 SQL Server 创建一个唯一索引来支持约束。该索引将自动生成名称,看起来像
UQ__tmp_ms_x__1F778345BD
Run Code Online (Sandbox Code Playgroud)
where 的UQ意思是“独特的”,其余的都很好,对我来说是随机的。如果我对同一个表有两个唯一约束,它们看起来就像两个随机字符串,这不是很方便。
创建唯一约束时,是否可以指定在后台创建的索引的名称?
参考Create Unique Constraints的文档,您应该能够使用以下内容:
CREATE TABLE [dbo].[Something](
[IdentityId] [uniqueidentifier] NULL,
CONSTRAINT [MyUniqueConstraintName] UNIQUE NONCLUSTERED
(
[IdentityId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
160 次 |
| 最近记录: |