Comment gérer l'insertion de clés étrangères dans les requêtes MySQL
Pour insérer efficacement des valeurs dans des tables avec des clés étrangères, explorons deux scénarios courants :
Scénario 1 : Ajouter un élève à un enseignant existant
Pour lier un nouvel élève à un enseignant préexistant, récupérez la clé étrangère à l'aide du nom d'un enseignant :
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;
Scénario 2 : Création simultanée d'un nouvel enseignant et d'un nouvel élève
Lors de la création d'un nouvel élève et d'un enseignant inexistant :
-- Insert a new teacher first
INSERT INTO TAB_TEACHER(name_teacher)
VALUES ('Professor Jade');
-- Retrieve the newly created teacher's ID
SET @teacher_id = LAST_INSERT_ID();
-- Insert the new student with the foreign key pointing to the new teacher
INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
VALUES ('Mia The Student', @teacher_id);
Dans ce scénario, la fonction LAST_INSERT_ID() est utilisée pour capturer l'ID de l'enseignant nouvellement inséré pour une utilisation immédiate comme clé étrangère pour l'étudiant.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3