Insertion de valeurs avec des clés étrangères dans MySQL
Lorsque vous travaillez avec des bases de données relationnelles, il est souvent nécessaire d'insérer des valeurs dans des tables avec des clés étrangères. Voici comment gérer deux cas précis :
CAS 1 : Insérer un élève auprès d'un professeur existant
Dans ce cas, vous connaissez le nom du professeur et devez récupérer leur identifiant dans la table TAB_TEACHER. La requête suivante utilise une sous-requête pour obtenir la valeur de la clé étrangère :
<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>
CAS 2 : Insérer un élève avec un nouvel enseignant
Pour ce cas, vous avez besoin pour insérer à la fois le nouvel enseignant et le nouvel élève. Cela nécessite deux instructions INSERT distinctes :
<code class="sql">-- Insert the new teacher INSERT INTO TAB_TEACHER(name_teacher) VALUES ('John Smith') -- Get the new teacher's ID SET @id_teacher_fk = LAST_INSERT_ID() -- Insert the new student with the foreign key value INSERT INTO TAB_STUDENT(name_student, id_teacher_fk) VALUES ('Jane Doe', @id_teacher_fk)</code>
Veuillez noter que la syntaxe spécifique peut varier en fonction de votre version de MySQL. Pour plus de détails, reportez-vous à la documentation officielle.
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!