Membuat batasan unik
Berlaku untuk: SQL Server 2016 (13.x) dan Azure SQL Database Azure SQL Managed Instance yang lebih baru
Anda dapat membuat batasan unik di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL untuk memastikan tidak ada nilai duplikat yang dimasukkan dalam kolom tertentu yang tidak berpartisipasi dalam kunci primer. Membuat batasan unik secara otomatis membuat indeks unik yang sesuai.
Catatan
Untuk informasi tentang batasan unik di Azure Synapse Analytics, lihat Kunci primer, kunci asing, dan kunci unik di Azure Synapse Analytics.
Izin
Memerlukan izin UBAH pada tabel.
Menggunakan SQL Server Management Studio (SSMS)
Membuat batasan unik menggunakan SSMS
Di Object Explorer, klik kanan tabel yang ingin Anda tambahkan batasan uniknya, dan pilih Desain.
Pada menu Desainer Tabel, pilih Indeks/Kunci.
Dalam kotak dialog Indeks/Kunci , pilih Tambahkan.
Di kisi di bawah Umum, pilih Ketik dan pilih Kunci Unik dari kotak daftar dropdown di sebelah kanan properti, lalu pilih Tutup.
Pada menu File , pilih Simpan nama tabel.
Menggunakan Transact-SQL
Membuat batasan unik menggunakan Transact-SQL
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar , pilih Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan. Contoh membuat tabel
TransactionHistoryArchive4
dan membuat batasan unik pada kolomTransactionID
.USE AdventureWorks2022; GO CREATE TABLE Production.TransactionHistoryArchive4 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
Membuat batasan unik pada tabel yang sudah ada
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar , pilih Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan. Contoh membuat batasan unik pada kolom
PasswordHash
danPasswordSalt
dalam tabelPerson.Password
.USE AdventureWorks2022; GO ALTER TABLE Person.Password ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt); GO
Membuat batasan unik pada tabel baru
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar , pilih Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan. Contoh membuat tabel dan menentukan batasan unik pada kolom
TransactionID
.USE AdventureWorks2022; GO CREATE TABLE Production.TransactionHistoryArchive2 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
Membuat batasan unik pada kolom nullable
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar , pilih Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan. Contoh membuat batasan unik yang difilter menggunakan
CREATE UNIQUE INDEX
sintaksis, hanya memberlakukan keunikan pada nilai non-NULL
.USE AdventureWorks2022; GO CREATE UNIQUE INDEX UQ_AdventureWorksDWBuildVersion ON dbo.AdventureWorksDWBuildVersion (DBVersion) WHERE (DBVersion IS NOT NULL); GO