Kekangan Unik dan Nilai Null dalam MySQL
Apabila mentakrifkan jadual pangkalan data, kekangan unik memainkan peranan penting dalam mengekalkan integriti data dengan memastikan keunikan lajur tertentu. Walau bagaimanapun, soalan biasa timbul: "Bolehkah pangkalan data MySQL membenarkan berbilang nilai nol dalam lajur dengan kekangan unik?"
Nilai Null dan Kekangan Unik
MySQL menawarkan tingkah laku yang unik mengenai nilai nol dan kekangan unik. Bertentangan dengan norma dalam banyak pangkalan data, MySQL membenarkan berbilang nilai nol dalam lajur yang ditetapkan dengan kekangan unik. Ini bermakna pangkalan data boleh mempunyai lebih daripada satu baris dengan nilai nol untuk lajur tertakluk kepada kekangan unik.
Contoh Demonstrasi
Untuk menggambarkan tingkah laku ini, pertimbangkan pertanyaan MySQL berikut:
CREATE TABLE table1 (x INT NULL UNIQUE); INSERT table1 VALUES (1); INSERT table1 VALUES (1); -- Duplicate entry '1' for key 'x' INSERT table1 VALUES (NULL); INSERT table1 VALUES (NULL); SELECT * FROM table1;
Hasil pertanyaan ini akan be:
x NULL NULL 1
Seperti yang dapat kita lihat, jadual mengandungi dua baris dengan nilai nol untuk lajur x, walaupun terdapat kekangan yang unik.
Implikasi untuk Pangkalan Data Bukan MySQL
Adalah penting untuk ambil perhatian bahawa tidak semua pangkalan data berkongsi tingkah laku ini. Dalam SQL Server 2005 dan versi terdahulu, sebagai contoh, hanya satu nilai nol dibenarkan dalam lajur dengan kekangan unik. Untuk memastikan konsistensi, adalah penting untuk mengetahui ciri pengendalian kekangan unik sistem pangkalan data khusus yang digunakan.
Atas ialah kandungan terperinci Bolehkah Kekangan UNIK MySQL Membenarkan Berbilang Nilai NULL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!