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

Patricia Arquette
Lepaskan: 2024-11-02 13:46:02
asal
536 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!