Maison > base de données > tutoriel mysql > le corps du texte

Comment insérer des valeurs dans des tables MySQL avec des clés étrangères ?

Patricia Arquette
Libérer: 2024-11-02 13:46:02
original
536 Les gens l'ont consulté

How to Insert Values into MySQL Tables with Foreign Keys?

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!