Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Nilai ke dalam Jadual MySQL dengan Kekunci Asing?

Bagaimana untuk Memasukkan Nilai ke dalam Jadual MySQL dengan Kekunci Asing?

Patricia Arquette
Patricia Arquetteasal
2024-11-02 13:46:02643semak imbas

How to Insert Values into MySQL Tables with Foreign Keys?

Memasukkan Nilai ke dalam Jadual dengan Kekunci Asing dalam MySQL

Dalam MySQL, apabila mencipta jadual dengan hubungan kunci asing, adalah penting untuk memahami cara untuk memasukkan nilai dengan betul. Berikut ialah pecahan cara mengendalikan dua senario:

Kes 1: Memasukkan Pelajar dengan Guru Sedia Ada

Untuk memasukkan rekod pelajar dengan rujukan kunci asing guru sedia ada, dapatkan semula kunci utama guru berdasarkan nama mereka:

<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 melakukan subkueri untuk memilih nilai 'id_teacher' guru berdasarkan nama mereka. Nilai yang dikembalikan kemudiannya digunakan sebagai kunci asing untuk rekod pelajar.

Kes 2: Memasukkan Pelajar dengan Guru Baharu

Untuk memasukkan rekod pelajar baharu bersama dengan guru baharu, anda perlu melaksanakan dua penyata sisipan berasingan:

<code class="sql">INSERT INTO TAB_TEACHER(name_teacher) VALUES ('Professor Jane');

INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
SELECT 'Alice The Student', LAST_INSERT_ID();</code>

Dalam pernyataan pertama, rekod guru baharu dimasukkan. Fungsi 'LAST_INSERT_ID()' kemudiannya digunakan dalam pernyataan kedua untuk mendapatkan kunci utama guru yang baru dimasukkan. Kunci ini ditetapkan sebagai kunci asing untuk rekod pelajar.

Dengan mengikuti langkah ini, anda boleh memastikan bahawa hubungan kunci asing dikekalkan apabila memasukkan nilai ke dalam jadual MySQL.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Nilai ke dalam Jadual MySQL dengan Kekunci Asing?. 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