Rumah >pangkalan data >tutorial mysql >Apakah Kelakuan ON DELETE yang Berbeza dalam MySQL dan Bagaimana Ia Berfungsi?

Apakah Kelakuan ON DELETE yang Berbeza dalam MySQL dan Bagaimana Ia Berfungsi?

Susan Sarandon
Susan Sarandonasal
2024-11-04 18:32:01677semak imbas

What are the Different ON DELETE Behaviors in MySQL and How do they Work?

Kelakuan ON DELETE MySQL: Panduan Komprehensif

Dalam MySQL, tingkah laku ON DELETE mentakrifkan tindakan yang akan diambil pada baris anak apabila baris induk yang berkaitan dipadamkan. Memahami tingkah laku ini adalah penting untuk mengekalkan integriti pangkalan data.

Lima Pilihan:

MySQL menyediakan lima kemungkinan tingkah laku ON DELETE:

  • SET NULL: Menetapkan lajur kunci asing kepada NULL dalam baris anak.
  • TIADA TINDAKAN: Menghalang sebarang perubahan pangkalan data yang akan melanggar kekangan kunci asing.
  • TERHAD: Bersamaan dengan TIADA TINDAKAN; menghalang pelanggaran kunci asing.
  • CASCADE: Memadamkan atau mengemas kini baris anak secara automatik apabila baris induk dipadamkan atau dikemas kini.
  • TETAPAN LALAI: Menetapkan lajur kunci asing kepada nilai lalainya, tetapi tidak disokong oleh InnoDB.

Gelagat Lalai:

Gelagat lalai ON DELETE ialah NO ACTION, yang bermaksud MySQL akan menghalang sebarang pemadaman atau kemas kini yang akan memecahkan kekangan kunci asing. Jika tiada klausa ON DELETE dinyatakan, tingkah laku lalai diandaikan.

Pilihan Lain:

  • SET NULL: Pilihan ini membenarkan baris induk untuk dipadamkan dan lajur kunci asing dalam baris anak ditetapkan kepada NULL.
  • CASCADE: Melakukan operasi bertingkat, memadam atau mengemas kini baris anak bersama-sama dengan induk baris.
  • TETAPAN LAILAI: Pilihan ini tidak disokong oleh InnoDB, bermakna ia bukan tingkah laku yang sah.

Memahami TIADA TINDAKAN dan TERHAD :

TIADA TINDAKAN dan TERHAD pada asasnya adalah sinonim. Kedua-dua pilihan menghalang pelanggaran kunci asing dengan menolak sebarang operasi yang akan memecahkan kekangan.

Kesimpulan:

Tingkah laku ON DELETE ialah aspek kritikal reka bentuk pangkalan data, kerana ia menentukan cara baris anak dipengaruhi apabila baris induknya diubah suai atau dipadamkan. Dengan memahami lima pilihan yang tersedia dan tingkah laku lalai, pembangun boleh memastikan integriti dan konsistensi pangkalan data MySQL mereka.

Atas ialah kandungan terperinci Apakah Kelakuan ON DELETE yang Berbeza dalam MySQL dan Bagaimana Ia Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn