Autoriser simplement la colonne university_id
de la table user
pour autoriser NULL
valeur afin que vous puissiez enregistrer les 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)
)
MISE À JOUR 1
en fonction de votre commentaire, vous devriez insérer NULL
et non ''
.
insert into user (name,university_id) values ('harjeet', NULL)
MISE À JOUR 2
$university_id = !empty($university_id) ? "'$university_id'" : "NULL";
insert into user (name,university_id) values ('harjeet', $university_id);
En passant, la requête est vulnérable avec SQL Injection
si la valeur(s ) des variables provenaient de l'extérieur. Veuillez consulter l'article ci-dessous pour savoir comment l'éviter. En utilisant PreparedStatements
vous pouvez vous débarrasser de l'utilisation de guillemets simples autour des valeurs.