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

Comment insérer des valeurs avec des clés étrangères dans les tables MySQL : clés existantes ou nouvelles ?

Mary-Kate Olsen
Libérer: 2024-10-30 21:24:30
original
391 Les gens l'ont consulté

How to Insert Values with Foreign Keys in MySQL Tables: Existing vs. New Keys?

Insérer des valeurs avec des clés étrangères dans les tables MySQL

Dans la gestion de bases de données, il est courant de créer des tables avec des contraintes de clés étrangères pour établir des relations entre elles . Cette question explore comment insérer des valeurs dans des tables avec des clés étrangères, en considérant deux scénarios.

Scénario 1 : Insertion avec une valeur de clé étrangère existante

Pour insérer un dossier d'élève avec un dossier d'enseignant existant et récupérez la clé étrangère via le nom de l'enseignant, utilisez la requête suivante :

<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 garantit que le dossier d'élève inséré est lié au bon enseignant en fonction du nom fourni.

Scénario 2 : Insertion avec une nouvelle valeur de clé étrangère

Pour insérer simultanément un nouvel étudiant et un nouvel enseignant, la procédure suivante doit être suivie :

  1. Insérer la fiche de l'enseignant :

    <code class="sql">INSERT INTO TAB_TEACHER(name_teacher)
    VALUES ('Professor Jane')</code>
    Copier après la connexion
  2. Récupérer l'identifiant de l'enseignant nouvellement inséré :

    <code class="sql">SET @new_teacher_id = LAST_INSERT_ID()</code>
    Copier après la connexion
  3. Insérer le dossier étudiant avec la clé étrangère définie sur l'identifiant du nouvel enseignant :

    <code class="sql">INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
    VALUES ('Mary The Student', @new_teacher_id)</code>
    Copier après la connexion

En exécutant ces étapes, un nouveau dossier étudiant lié au dossier enseignant nouvellement créé sera inséré dans le base de données.

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!