Tillåt bara kolumnen university_id av tabellen user för att tillåta NULL värde så att du kan spara nullvärden .
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)
)
UPPDATERING 1
baserat på din kommentar bör du infoga NULL och inte '' .
insert into user (name,university_id) values ('harjeet', NULL)
UPPDATERING 2
$university_id = !empty($university_id) ? "'$university_id'" : "NULL";
insert into user (name,university_id) values ('harjeet', $university_id);
Som en sidanot är frågan sårbar med SQL Injection
om värdet (s ) av variablerna kom utifrån. Ta en titt på artikeln nedan för att lära dig hur du förhindrar det. Genom att använda PreparedStatements du kan bli av med att använda enstaka citattecken runt värden.