Solo permita la columna university_id
de la tabla user
para permitir NULL
valor para que pueda guardar nulls .
CREATE TABLE user
(
uid INT NOT NULL,
Name VARCHAR(30) NOT NULL,
university_ID INT NULL, -- <<== this will allow field to accept NULL
CONSTRAINT user_fk FOREIGN KEY (university_ID)
REFERENCES university(university_ID)
)
ACTUALIZACIÓN 1
según su comentario, debe insertar NULL
y no ''
.
insert into user (name,university_id) values ('harjeet', NULL)
ACTUALIZACIÓN 2
$university_id = !empty($university_id) ? "'$university_id'" : "NULL";
insert into user (name,university_id) values ('harjeet', $university_id);
Como nota al margen, la consulta es vulnerable con SQL Injection
si el valor (s ) de las variables vino del exterior. Por favor, eche un vistazo al siguiente artículo para saber cómo prevenirlo. Mediante el uso de PreparedStatements
puede deshacerse del uso de comillas simples alrededor de los valores.