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 avec 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 :
<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>
Scénario 2 : Création simultanée d'un nouvel enseignant et d'un nouvel élève
Lors de la création à la fois d'un nouvel élève et d'un enseignant inexistant :
<code class="sql">-- 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);</code>
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'élève.
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!