sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué la clave principal no puede contener valores nulos?

Una columna CLAVE PRIMARIA es equivalente a ÚNICA y NO NULA y es una columna indexada de forma predeterminada.
Debe ser ÚNICA porque una clave principal identifica filas en una tabla, por lo que 2 filas diferentes no deben tener la misma clave.
Además, una clave principal puede usarse como FOREIGN KEY en otras tablas y es por eso que no puede ser NULL para que la otra tabla pueda encontrar las filas en la tabla referenciada.

Por ejemplo:

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)   
};