Rumah > pangkalan data > tutorial mysql > Bolehkah Kekangan Unik MySQL Mengendalikan Berbilang Nilai NULL?

Bolehkah Kekangan Unik MySQL Mengendalikan Berbilang Nilai NULL?

DDD
Lepaskan: 2024-12-26 07:14:09
asal
762 orang telah melayarinya

Can MySQL's Unique Constraint Handle Multiple NULL Values?

Kekangan Unik MySQL: Nilai Null

Dalam MySQL, kekangan unik dikuatkuasakan untuk menjamin keunikan nilai dalam lajur yang ditentukan. Walau bagaimanapun, apabila berurusan dengan alamat e-mel, senario biasa ialah penggunaan nilai nol untuk mewakili alamat pilihan atau tidak disediakan. Ini menimbulkan persoalan:

Bolehkah MySQL membenarkan berbilang nilai nol dalam lajur dengan kekangan unik?

Jawapan:

Ya, MySQL membenarkan berbilang nilai nol dalam lajur yang mempunyai kekangan unik. Tingkah laku ini menyimpang daripada sistem pangkalan data tertentu yang lain.

Contoh:

Pernyataan SQL berikut mencipta jadual bernama table1 dengan lajur integer x yang ditakrifkan sebagai unik dan membenarkan nilai null:

CREATE TABLE table1 (x INT NULL UNIQUE);
Salin selepas log masuk

Memasukkan nilai null pendua ke dalam jadual ini tidak akan menimbulkan ralat:

INSERT table1 VALUES (1);
INSERT table1 VALUES (1);   -- Duplicate entry '1' for key 'x'
INSERT table1 VALUES (NULL);
INSERT table1 VALUES (NULL);
Salin selepas log masuk

Menjalankan pertanyaan untuk mendapatkan semula semua rekod dalam jadual1 akan menghasilkan hasil berikut:

SELECT * FROM table1;
Salin selepas log masuk
x
NULL
NULL
1

Nota: Tingkah laku ini khusus kepada MySQL. Sistem pangkalan data lain, seperti SQL Server 2005 dan lebih awal, mengehadkan elaun nilai nol tunggal dalam lajur dengan kekangan unik.

Atas ialah kandungan terperinci Bolehkah Kekangan Unik MySQL Mengendalikan Berbilang Nilai NULL?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan