Rumah >pangkalan data >tutorial mysql >Bolehkah kunci asing kosong dalam mysql?
Kunci asing dalam MySQL boleh menjadi batal, menyokong senario perniagaan tertentu seperti perhubungan pilihan, pemadaman bertingkat dan integriti data. Apabila ditetapkan kepada NULL, baris jadual anak tidak boleh mempunyai perkaitan yang sepadan dengan jadual induk.
Bolehkah kunci asing menjadi batal dalam MySQL?
Jawapan: Ya.
Dalam MySQL, kunci asing boleh kosong, membenarkan baris dalam jadual anak yang tidak berkaitan dengan sebarang rekod dalam jadual induk.
Butiran:
Kunci asing ialah kekangan pangkalan data yang memaksa setiap baris dalam jadual anak dikaitkan dengan baris dalam jadual induk. Walau bagaimanapun, untuk menyokong senario perniagaan tertentu, MySQL membenarkan kunci asing menjadi batal.
Apabila kunci asing kosong, ini bermakna baris dalam jadual anak tidak sepadan dengan mana-mana baris dalam jadual induk. Ini berguna dalam situasi berikut:
Nota:
Walaupun kunci asing boleh menjadi batal, ciri ini harus digunakan dengan berhati-hati. Kunci asing yang kosong boleh menyebabkan ketidakkonsistenan data dan prestasi pertanyaan yang merosot. Biasanya, apabila menguatkuasakan integriti data, adalah disyorkan untuk menggunakan kunci asing bukan nol.
Cara untuk menetapkan kepada null:
Dalam MySQL, anda boleh menetapkan kunci asing kepada null dengan menyatakan NULL
apabila mencipta kekangan kunci asing. Contohnya:
<code class="sql">CREATE TABLE child_table ( child_id INT PRIMARY KEY, parent_id INT, FOREIGN KEY (parent_id) REFERENCES parent_table(parent_id) ON DELETE SET NULL );</code>
Atas ialah kandungan terperinci Bolehkah kunci asing kosong dalam mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!