Rumah > pangkalan data > tutorial mysql > Bagaimana untuk menguatkuasakan kekangan yang unik pada kombinasi lajur di SQL Server?

Bagaimana untuk menguatkuasakan kekangan yang unik pada kombinasi lajur di SQL Server?

Linda Hamilton
Lepaskan: 2025-01-24 23:32:09
asal
211 orang telah melayarinya

How to Enforce Unique Constraints on Column Combinations in SQL Server?

Pastikan kekangan seks unik dari kombinasi lajur SQL Server

Jadual pangkalan data mungkin mempunyai beberapa rekod yang mempunyai lajur yang sama. Untuk mengelakkan keadaan ini, anda boleh memaksa pelaksanaan kekangan yang unik dan memerlukan gabungan lajur tertentu untuk menjadi unik di dalam jadual.

Sebagai contoh, satu jadual mengandungi lajur berikut:

id (kunci utama)
  • Nama
  • aktif
  • personNumber
  • Ia dikehendaki memastikan bahawa hanya ada satu rekod dengan PersonNumber dan aktif = 1.
Buat kekangan seksual yang unik

Selepas memadam sebarang rekod berulang dalam jadual, anda boleh menggunakan penyataan atau ayat untuk menambah kekangan yang unik.

kaedah ALTER TABLE CREATE UNIQUE INDEX

kaedah

ALTER TABLE

Ulang
<code class="language-sql">ALTER TABLE dbo.yourtablename
  ADD CONSTRAINT uq_yourtablename UNIQUE(column1, column2);</code>
Salin selepas log masuk

CREATE UNIQUE INDEX Anda boleh secara aktif menyemak konflik yang berpotensi, dan bukannya membiarkan proses SQL Server berulang -ulang dengan mengembalikan anomali.

<code class="language-sql">CREATE UNIQUE INDEX uq_yourtablename
  ON dbo.yourtablename(column1, column2);</code>
Salin selepas log masuk
periksa konflik

Untuk mengelakkan aplikasi mengganggu yang tidak normal, anda boleh menggunakan kaedah berikut:

Kesan prestasi teknologi rawatan ralat yang berlainan:

Pertimbangkan kesan prestasi pelbagai kaedah rawatan ralat.

Periksa kekangan yang berpotensi sebelum memasuki Try/Catch:

Periksa konflik yang berpotensi sebelum memasuki blok pemprosesan yang tidak normal untuk mengurangkan overhead.

    menggunakan bukannya pencetus
  • Jika anda ingin memproses sisipan berulang tanpa mengubahsuai aplikasi, anda boleh membuat bukannya pencetus:
  • Contoh
  • Contoh berikut menunjukkan penciptaan kekangan seksual yang unik dan mengesahkan fungsinya pada kombinasi lajur:

Contoh ini menunjukkan rekod pendua kekangan yang unik mengenai bagaimana untuk mengelakkan orang yang sama dan aktif = 1 kombinasi.

Atas ialah kandungan terperinci Bagaimana untuk menguatkuasakan kekangan yang unik pada kombinasi lajur di SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan