Jadual yang melibatkan perhubungan utama asing memerlukan pertimbangan khusus apabila memasukkan data untuk memastikan integriti data. Mari kita terokai cara mengendalikan sisipan dalam MySQL untuk dua senario:
Jika anda mempunyai rekod pelajar untuk dimasukkan dan guru milik mereka sudah wujud, anda boleh menggunakan subquery untuk mendapatkan semula kunci asing (id_teacher) berdasarkan nama guru:
<code class="sql">INSERT INTO TAB_STUDENT(name_student, id_teacher_fk) SELECT 'Joe The Student', id_teacher FROM TAB_TEACHER WHERE name_teacher = 'Professor Jack' LIMIT 1</code>
Jika pelajar cikgu belum lagi wujud dalam pangkalan data, anda perlu melakukan dua operasi sisipan berasingan:
<code class="sql">INSERT INTO TAB_TEACHER(name_teacher) VALUES ('Dr. Smith')</code>
<code class="sql">INSERT INTO TAB_STUDENT(name_student, id_teacher_fk) VALUES ('Mary The Student', LAST_INSERT_ID())</code>
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Data ke dalam Jadual MySQL dengan Kekangan Utama Asing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!