Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL:UNIK, tetapi DEFAULT NULL - diizinkan dengan membuat tabel. Lebih dari 1 NULL diperbolehkan untuk disisipkan. Mengapa?

Menurut spesifikasi SQL 92 (dan cara Anda membacanya) batasan unik dimaksudkan untuk menunjukkan kunci kandidat dan oleh karena itu tidak boleh mengizinkan nilai duplikat atau nilai NULL. DB2 mengimplementasikan batasan unik mereka dengan cara ini. Lebih dari beberapa vendor database (termasuk MySQL) membaca spesifikasi sebagai mengabaikan nilai NULL seperti klausa Group By mengabaikan nilai NULL dan dengan demikian mereka menerapkan batasan unik sehingga hanya berlaku untuk nilai non-NULL. Yang lain lagi, perlakukan NULL sebagai nilai spesialnya sendiri dan hanya izinkan satu entri yaitu NULL. Microsoft SQL Server menerapkan batasan unik dengan cara ini. Satu-satunya aspek yang konsisten di antara semua vendor sehubungan dengan batasan unik adalah bahwa nilai non-NULL harus unik.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perhitungan persentase jumlah kelompok (*)

  2. Mengalami masalah dengan Gabung MySQL yang harus memenuhi berbagai kondisi

  3. MySQL memberikan baris seumur hidup

  4. Kembalikan Hanya Nilai Numerik di MySQL

  5. Sekuel kueri geospasial:temukan n titik terdekat ke suatu lokasi