NULL di Foreign Key

Terkadang kita memiliki FK yang tidak wajib diisi, seperti contoh kasus berikut : 


Setiap sales tidak selalu memiliki atasan. Bagaimana agar FK kita bisa NULL ? caranya mudah, tinggal kita perbolehkan saja, FK kita (yaitu kode_atasan agar defaultnya adalah NULL. 

DDL tabel diatas adalah sebagai berikut : 

CREATE TABLE IF NOT EXISTS `t_sales` (
  `kode_sales` int(11) NOT NULL AUTO_INCREMENT,
  `nama_sales` text NOT NULL,
  `kode_unit_sales` int(11) NOT NULL,
  `kode_atasan` int(11) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  `no_hp` varchar(15) DEFAULT NULL,
  `is_deleted` int(1) DEFAULT '0',
  PRIMARY KEY (`kode_sales`),
  KEY `t_sales_kode_atasan_t_sales_kode_sales` (`kode_atasan`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

ALTER TABLE t_sales ADD CONSTRAINT t_sales_kode_atasan_t_sales_kode_sales FOREIGN KEY (kode_atasan) REFERENCES t_sales(kode_sales);

Bagaimana proses insert/update nya jika menggunakan Doctrine 1.x ?, Sahabat bisa membacanya di sini.
Comments