KESALAHAN UNIK dalam Microsoft SQL Server

Kelebihan Menggunakan Kekangan UNIK Terhadap Kekangan Utama Utama

Dengan mewujudkan kekangan UNIK, pentadbir SQL Server menyatakan bahawa lajur mungkin tidak mengandungi nilai pendua. Apabila anda mencipta kekangan UNIQUE yang baru, SQL Server memeriksa ruangan yang dimaksudkan untuk menentukan sama ada ia mengandungi sebarang nilai pendua. Jika jadual mengandungi pendua yang sedia ada, arahan penciptaan kekangan gagal. Begitu juga, apabila anda mempunyai kekangan UNIK dalam lajur, percubaan untuk menambah atau mengubah data yang akan menyebabkan pendua wujud juga gagal.

Kenapa Gunakan Kekangan UNIK

Kekangan UNIK dan kunci utama menguatkuasakan keunikan, tetapi ada kalanya kekangan UNIK adalah pilihan yang lebih baik.

Mewujudkan Kekunci UNIK

Terdapat banyak cara anda boleh membuat kekangan UNIK dalam SQL Server. Jika anda ingin menggunakan Transact-SQL untuk menambahkan kekangan UNIK pada jadual yang sedia ada, anda boleh menggunakan pernyataan ALTER TABLE, seperti digambarkan di bawah:

ALTER TABLE ADD CONSTRAINT UNIQUE ()

Jika anda lebih suka berinteraksi dengan SQL Server menggunakan alat GUI, anda juga boleh membuat kekangan UNIK dengan menggunakan SQL Server Management Studio . Ini caranya:

  1. Buka SQL Server Management Studio .
  2. Kembangkan folder Tables pangkalan data di mana anda ingin membuat kekangan.
  3. Klik kanan jadual di mana anda ingin menambah kekangan dan klik Reka bentuk .
  4. Dalam menu Designer Table, klik Indeks / Kunci .
  5. Dalam kotak dialog Indeks / Kekunci, klik Tambah .
  6. Pilih Kunci Unik dalam senarai juntai Jenis .

KEBENARAN UNIK DAN LENGKAP UNIK

Terdapat beberapa kekeliruan mengenai perbezaan antara kekangan UNIQUE dan indeks UNIQUE. Walaupun anda boleh menggunakan perintah Transact-SQL berbeza untuk membuatnya (ALTER TABLE ... ADD CONSTRAINT untuk kekangan dan CREATE INDEX UNIQUE untuk indeks), mereka mempunyai kesan yang sama, untuk sebahagian besar. Sebenarnya, apabila anda membuat kekangan UNIK, ia sebenarnya mewujudkan indeks UNIQUE di atas meja. Adalah penting untuk diperhatikan, bagaimanapun, bahawa terdapat beberapa perbezaan: