sql >> Databasteknik >  >> RDS >> Mysql

hur skickar man ett nollvärde till ett främmande nyckelfält?

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.



  1. Första offentliga förhandsvisning av SQL Server 2019:CTP 2.0

  2. ansluta Android-appar till mysql-databasen

  3. Lägg till en numrerad listkolumn till en returnerad MySQL-fråga

  4. PostgreSQL:Ändra OWNER på alla tabeller samtidigt i PostgreSQL