Consenti solo la colonna university_id
della tabella user
per consentire NULL
valore in modo da poter salvare null .
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)
)
AGGIORNAMENTO 1
in base al tuo commento, dovresti inserire NULL
e non ''
.
insert into user (name,university_id) values ('harjeet', NULL)
AGGIORNAMENTO 2
$university_id = !empty($university_id) ? "'$university_id'" : "NULL";
insert into user (name,university_id) values ('harjeet', $university_id);
Come nota a margine, la query è vulnerabile con SQL Injection
se il valore(s ) delle variabili proveniva dall'esterno. Si prega di dare un'occhiata all'articolo qui sotto per sapere come prevenirlo. Usando PreparedStatements
puoi sbarazzarti dell'uso di virgolette singole attorno ai valori.