Rumah > Artikel > pangkalan data > Cara Memasukkan Nilai dengan Kekunci Asing dalam Jadual MySQL: Kekunci Sedia Ada vs. Baharu?
Memasukkan Nilai dengan Kunci Asing dalam Jadual MySQL
Dalam pengurusan pangkalan data, adalah perkara biasa untuk mencipta jadual dengan kekangan kunci asing untuk mewujudkan hubungan antara mereka . Soalan ini meneroka cara untuk memasukkan nilai ke dalam jadual dengan kunci asing, mengambil kira dua senario.
Senario 1: Memasukkan dengan Nilai Kunci Asing Sedia Ada
Untuk memasukkan rekod pelajar dengan rekod guru sedia ada dan dapatkan kunci asing melalui nama guru, gunakan pertanyaan berikut:
<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>
Pertanyaan ini memastikan rekod pelajar yang dimasukkan dipautkan kepada guru yang betul berdasarkan nama yang diberikan.
Senario 2: Memasukkan dengan Nilai Kunci Asing Baharu
Untuk memasukkan kedua-dua pelajar baharu dan guru baharu secara serentak, prosedur berikut hendaklah dipatuhi:
Masukkan rekod guru:
<code class="sql">INSERT INTO TAB_TEACHER(name_teacher) VALUES ('Professor Jane')</code>
Dapatkan semula ID guru yang baru dimasukkan:
<code class="sql">SET @new_teacher_id = LAST_INSERT_ID()</code>
Sisipkan rekod pelajar dengan kunci asing ditetapkan kepada ID guru baharu:
<code class="sql">INSERT INTO TAB_STUDENT(name_student, id_teacher_fk) VALUES ('Mary The Student', @new_teacher_id)</code>
Dengan melaksanakan langkah-langkah ini, rekod pelajar baharu yang dipautkan kepada rekod guru yang baru dibuat akan dimasukkan ke dalam pangkalan data.
Atas ialah kandungan terperinci Cara Memasukkan Nilai dengan Kekunci Asing dalam Jadual MySQL: Kekunci Sedia Ada vs. Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!