Rumah > pangkalan data > tutorial mysql > Bagaimanakah MySQL Mengendalikan Nilai Null dengan Kekangan Unik?

Bagaimanakah MySQL Mengendalikan Nilai Null dengan Kekangan Unik?

Barbara Streisand
Lepaskan: 2024-12-07 00:45:12
asal
589 orang telah melayarinya

How Does MySQL Handle Null Values with Unique Constraints?

Kekangan Unik dan Nilai Null dalam MySQL

Dalam reka bentuk pangkalan data, kekangan unik sering digunakan untuk memastikan setiap baris dalam jadual mempunyai nilai yang berbeza untuk lajur atau set lajur tertentu. Walau bagaimanapun, persoalan timbul: adakah MySQL mengendalikan nilai nol secara berbeza apabila menguatkuasakan kekangan ini?

Nilai Null dan Kekangan Unik dalam MySQL

Tidak seperti beberapa sistem pengurusan pangkalan data hubungan lain ( RDBMS), MySQL membenarkan berbilang nilai nol dalam lajur yang mempunyai kekangan unik. Ini bermakna, walaupun kekangan unik dikenakan, MySQL tidak akan menghalang berbilang baris daripada mengandungi nilai nol untuk lajur yang ditentukan.

Untuk menggambarkan tingkah laku ini, pertimbangkan pernyataan MySQL berikut:

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

Dalam contoh ini, lajur 'x' diisytiharkan sebagai integer yang menerima nilai nol dan kekangan unik digunakan pada lajur. Menjalankan pernyataan sisipan berikut:

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

akan menghasilkan hasil berikut:

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

Seperti yang anda lihat, MySQL membenarkan berbilang nilai nol dalam lajur 'x' walaupun kekangan yang unik. Tingkah laku ini berbeza daripada beberapa RDBMS lain, seperti SQL Server 2005 dan lebih lama, yang mengehadkan berbilang nilai nol dalam lajur dengan kekangan unik.

Atas ialah kandungan terperinci Bagaimanakah MySQL Mengendalikan Nilai Null dengan Kekangan Unik?. 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