Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

bagaimana cara memberikan nilai nol ke bidang kunci asing?

Cukup izinkan kolom university_id tabel user untuk mengizinkan NULL nilai sehingga Anda dapat menyimpan 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)
)

PERBARUI 1

berdasarkan komentar Anda, Anda harus memasukkan NULL dan bukan '' .

insert into user (name,university_id) values ('harjeet', NULL)

PERBARUI 2

$university_id = !empty($university_id) ? "'$university_id'" : "NULL";
insert into user (name,university_id) values ('harjeet', $university_id);

Sebagai catatan tambahan, kueri rentan dengan SQL Injection jika nilainya(s ) dari variabel tersebut berasal dari luar. Silakan lihat artikel di bawah ini untuk mempelajari cara mencegahnya. Dengan menggunakan PreparedStatements Anda dapat menghilangkan penggunaan tanda kutip tunggal di sekitar nilai.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menekan pesan peringatan menggunakan mysql dari dalam Terminal, tetapi kata sandi ditulis dalam skrip bash

  2. mysql pilih nilai n max teratas

  3. Masalah dalam menghubungkan ke server mysql:ERROR 2003 (HY000)

  4. Datanya Null. Metode atau properti ini tidak dapat dipanggil pada nilai nol. (menggunakan kotak kombo)

  5. MySQL dan JSON - ubah array menjadi baris