PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

PostgreSQL:KUNCI ASING/ON DELETE CASCADE

Kunci asing dengan penghapusan berjenjang berarti bahwa jika catatan di tabel induk dihapus, maka catatan terkait di tabel anak akan dihapus secara otomatis. Ini disebut penghapusan berjenjang.

Anda mengatakan sebaliknya, ini bukan berarti ketika Anda menghapus dari tabel anak maka catatan akan dihapus dari tabel induk.

UPDATE 1:

SELAMAT HAPUS CASCADE Opsinya adalah untuk menentukan apakah Anda ingin baris dihapus di tabel anak saat baris terkait dihapus di tabel induk. Jika Anda tidak menentukan penghapusan berjenjang, perilaku default server database mencegah Anda menghapus data dalam tabel jika tabel lain merujuknya.

Jika Anda menentukan opsi ini, nanti saat Anda menghapus baris di tabel induk, server database juga menghapus setiap baris yang terkait dengan baris tersebut (kunci asing) di tabel anak. Keuntungan utama dari fitur cascading-deletes adalah memungkinkan Anda untuk mengurangi jumlah pernyataan SQL yang Anda perlukan untuk melakukan tindakan penghapusan.

Jadi, ini semua tentang apa yang akan terjadi bila Anda menghapus baris dari tabel Induk bukan dari tabel anak.

Jadi dalam kasus Anda ketika pengguna menghapus entri dari tabel CATs maka baris akan dihapus dari tabel buku. :)

Semoga ini bisa membantu Anda :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Diindeks ORDER BY dengan LIMIT 1

  2. Bagaimana saya bisa mengatur parameter String[] ke kueri asli?

  3. Evolusi Fault Tolerance di PostgreSQL:Synchronous Commit

  4. Bagaimana Atand() Bekerja di PostgreSQL

  5. Driver PostgreSQL 9.2 JDBC menggunakan zona waktu klien?