建立 Unique Constraint 語法
ALTER TABLE TableName
ADD CONSTRAINT AK_TableName_ColName UNIQUE (ColName);
GO
建立 Unique Index 語法CREATE UNIQUE INDEX UQ_TableName_ColName
ON dbo.TableName (ColName)
GO
完整範例
USE AdventureWorks2025;
GO
DROP TABLE IF EXISTS tblUniqueDemo
GO
CREATE TABLE tblUniqueDemo
(
ID int NOT NULL CONSTRAINT PK_tblUniqueDemo PRIMARY KEY,
Email VARCHAR(100),
Phone VARCHAR(20)
);
GO
-- 建立 Unique Constraint 語法
ALTER TABLE tblUniqueDemo
ADD CONSTRAINT AK_tblUniqueDemo_Email UNIQUE (Email);
GO
-- 建立 Unique Index 語法
CREATE UNIQUE INDEX UQ_tblUniqueDemo_Phone
ON dbo.tblUniqueDemo (Phone)
GO
-- 透過 sys.Indexes 查詢
SELECT
[name] ,
[type] ,
[type_desc] ,
is_primary_key ,
is_unique ,
is_unique_constraint
FROM sys.indexes
WHERE object_id = object_id('tblUniqueDemo')
sys.indexes 內有兩個 Unique 相關欄位資訊,分別為- is_unique:Index is unique.
- is_unique_constraint:Index is part of a UNIQUE constraint.,白話翻譯就是是否從 Constraint 語法建立出來的









