Po prostu zezwól na kolumnę university_id
tabeli user
aby zezwolić na NULL
wartość, dzięki czemu można zapisać 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)
)
AKTUALIZACJA 1
na podstawie Twojego komentarza powinieneś wstawić NULL
a nie ''
.
insert into user (name,university_id) values ('harjeet', NULL)
AKTUALIZACJA 2
$university_id = !empty($university_id) ? "'$university_id'" : "NULL";
insert into user (name,university_id) values ('harjeet', $university_id);
Na marginesie, zapytanie jest podatne na SQL Injection
jeśli wartość (s ) zmiennych pochodziło z zewnątrz. Zapoznaj się z poniższym artykułem, aby dowiedzieć się, jak temu zapobiec. Używając PreparedStatements
możesz pozbyć się pojedynczych cudzysłowów wokół wartości.