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.