Cara Menangani Kemasukan Kunci Asing dalam Pertanyaan MySQL
Untuk memasukkan nilai dengan cekap ke dalam jadual dengan kunci asing, mari kita terokai dua senario biasa:
Senario 1: Menambah Pelajar dengan Guru Sedia Ada
Untuk memautkan pelajar baharu kepada guru sedia ada, dapatkan semula kunci asing menggunakan 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>
Senario 2: Mewujudkan Guru dan Pelajar Baharu secara serentak
Apabila mencipta kedua-dua pelajar baharu dan guru tidak wujud:
<code class="sql">-- Insert a new teacher first INSERT INTO TAB_TEACHER(name_teacher) VALUES ('Professor Jade'); -- Retrieve the newly created teacher's ID SET @teacher_id = LAST_INSERT_ID(); -- Insert the new student with the foreign key pointing to the new teacher INSERT INTO TAB_STUDENT(name_student, id_teacher_fk) VALUES ('Mia The Student', @teacher_id);</code>
Dalam senario ini, fungsi LAST_INSERT_ID() digunakan untuk menangkap ID guru yang baru dimasukkan untuk kegunaan segera sebagai kunci asing untuk pelajar.
Atas ialah kandungan terperinci Cara Mengendalikan Kemasukan Kunci Asing dalam Pertanyaan MySQL: Dua Senario Biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!