Rumah >pangkalan data >tutorial mysql >Bolehkah Kekangan UNIK MySQL Mengendalikan Nilai Kosong dalam Lajur?

Bolehkah Kekangan UNIK MySQL Mengendalikan Nilai Kosong dalam Lajur?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-09 07:04:07504semak imbas

Can MySQL's UNIQUE Constraint Handle Empty Values in a Column?

Kekangan Unik dengan Nilai Kosong dalam MySQL

Pertimbangkan senario di mana anda mempunyai medan menyimpan kod produk yang mestilah unik, tetapi produk tertentu kekurangan kod pembekal yang ditetapkan. Timbul persoalan, adakah mungkin untuk menentukan kekangan unik yang menampung senario ini dalam MySQL?

Jawapan:

Ya, adalah wajar untuk mencipta kekangan unik yang membenarkan nilai kosong dalam MySQL. Seperti yang dinyatakan dalam manual rujukan MySQL (versi 5.5):

"Indeks UNIK mencipta kekangan supaya semua nilai dalam indeks mesti berbeza. Ralat berlaku jika anda cuba menambah baris baharu dengan kunci nilai yang sepadan dengan baris sedia ada Untuk semua enjin, indeks UNIK membenarkan berbilang nilai NULL untuk lajur yang boleh mengandungi NULL."

Oleh itu, untuk lajur yang membenarkan nilai NULL, walaupun sifat NOT NULLnya, ia adalah sah dengan sempurna untuk mentakrifkan kekangan unik tanpa membawa kepada konflik. Ini membenarkan situasi di mana produk tertentu tidak mempunyai kod yang ditetapkan, membolehkannya dimasukkan ke dalam pangkalan data tanpa melanggar keperluan keunikan.

Atas ialah kandungan terperinci Bolehkah Kekangan UNIK MySQL Mengendalikan Nilai Kosong dalam Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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