Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dlaczego klucz podstawowy nie może zawierać wartości null?

Kolumna PRIMARY KEY jest równoważna UNIQUE i NOT NULL i jest domyślnie indeksowana.
Powinna być UNIQUE, ponieważ klucz podstawowy identyfikuje wiersze w tabeli, więc 2 różne wiersze nie powinny mieć tego samego klucza.
Ponadto klucz podstawowy może być używany jako FOREIGN KEY w innych tabelach i dlatego nie może mieć wartości NULL, aby inna tabela mogła znaleźć wiersze w tabeli, do której się odwołuje.

Na przykład:

CREATE person{   
   id INT PRIMARY KEY,  -- equals UNIQUE NOT NULL   
   name VARCHAR(20)   
};   

CREATE family{   
   id INT PRIMARY KEY,  -- equals UNIQUE NOT NULL   
   menber_id INT FOREIGN KEY REFERENCE person(id)   
};   


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd krytyczny:nie można ponownie zadeklarować session_start() w wierszu functions.php 25

  2. Podziel wiele instrukcji SQL na pojedyncze instrukcje SQL

  3. Zapowiedź ClusterControl 1.7.5:Zaawansowana konserwacja klastra i wsparcie dla PostgreSQL 12 i MongoDB 4.2

  4. CryptDB - nie można połączyć się z serwerem proxy (BŁĄD 1105 (HY000):(proxy) wszystkie backendy nie działają)

  5. Jak stworzyć tunel ssh w ruby, a następnie połączyć się z serwerem mysql na zdalnym hoście?