Просто разреши колона university_id
на таблица user
за да разрешите 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)
)
АКТУАЛИЗИРАНЕ 1
въз основа на вашия коментар, трябва да вмъкнете NULL
а не ''
.
insert into user (name,university_id) values ('harjeet', NULL)
АКТУАЛИЗИРАНЕ 2
$university_id = !empty($university_id) ? "'$university_id'" : "NULL";
insert into user (name,university_id) values ('harjeet', $university_id);
Като странична бележка, заявката е уязвима с SQL Injection
ако стойността (s ) на променливите идват отвън. Моля, разгледайте статията по-долу, за да научите как да предотвратите това. С помощта на PreparedStatements
можете да се отървете от използването на единични кавички около стойностите.