Maison > Article > base de données > Comment insérer des valeurs dans des tables MySQL avec des clés étrangères ?
Insérer des valeurs dans des tables avec des clés étrangères dans MySQL
Dans MySQL, lors de la création de tables avec des relations de clés étrangères, il est important de comprendre comment insérer les valeurs correctement. Voici un aperçu de la façon de gérer deux scénarios :
Cas 1 : Insérer un élève avec un enseignant préexistant
Pour insérer une fiche d'élève avec un référencement de clé étrangère un enseignant existant, récupérez la clé primaire de l'enseignant en fonction de son nom :
<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>
Cette requête effectue une sous-requête pour sélectionner la valeur 'id_teacher' de l'enseignant en fonction de son nom. La valeur renvoyée est ensuite utilisée comme clé étrangère pour le dossier de l'élève.
Cas 2 : Insertion d'un élève avec un nouvel enseignant
Pour insérer un nouveau dossier d'élève le long avec un nouvel enseignant, vous devrez effectuer deux instructions d'insertion distinctes :
<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>
Dans la première instruction, un nouvel enregistrement d'enseignant est inséré. La fonction 'LAST_INSERT_ID()' est ensuite utilisée dans la deuxième instruction pour récupérer la clé primaire du professeur nouvellement inséré. Cette clé est attribuée comme clé étrangère pour le dossier de l'étudiant.
En suivant ces étapes, vous pouvez vous assurer que les relations de clé étrangère sont maintenues lors de l'insertion de valeurs dans les tables MySQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!