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.