Hallo blogger kali ini saya akan menjelaskan tentang perbedaan antara cascade, restrict, set null, no action pada relasi antar table database. Relasi
antar table adalah hubungan antar table yang terbagi menjadi 3 jenis yaitu many
to many, many to one dan one to many. Kali ini saya tidak focus untuk membahas
hal tersebut namun saya akan membahas ketika 2 table dihubungkan apa yang
terjadi ketika salah satu table di edit / di hapus apakah akan terjadi error
atau data akan hilang. Database sendiri sudah memberi jagaan ketika hal itu
terjadi yaitu berupa cascade, set null, no action dan restrict. Berikut penjelasanya
- Cascade = apabila id pada table A dihapus maka table B juga ikut terhapus
- SET NULL = apabila id pada table A dihapus maka table B di set null
- No action = apabila id pada table A dihapus maka tidak dilakukan apa-apa
- Restrict = apabila id pada table A ingin dihapus maka tidak diperbolehkan jika di table B ditemukan ID yang berelasi
Untuk cara settingnya adalah seperti ini
Masuk ke table yang berelasi kemudian pilih tab structure à kemudian relation view
à pada kolom Foreign Key
Constraint à
beri nama constraint à
pilih on update sesuai dengan penjelasan diatas begitu juga dengan on delete.