Maison >base de données >tutoriel mysql >Comment mettre à jour les ID de question NULL dans une table de suivi à l'aide des ID de réponse associés ?

Comment mettre à jour les ID de question NULL dans une table de suivi à l'aide des ID de réponse associés ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-10 06:08:44587parcourir

How to Update NULL QuestionIDs in a Tracking Table Using Related AnswerIDs?

Mise à jour des ID de questions NULL à l'aide des ID de réponse associés

Défi :

Un tableau de suivi contient des lignes avec des valeurs NULL dans la colonne "QuestionID". Heureusement, la colonne « AnswerID » associée dans le même tableau contient la clé pour trouver le « QuestionID » correct dans le tableau « Réponses ». Le but est de remplir ces entrées NULL "QuestionID" avec les valeurs correspondantes du tableau "Answers".

Solution :

Voici la requête SQL pour réaliser cette mise à jour :

<code class="language-sql">UPDATE QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL;</code>

Explication :

Cette requête utilise un INNER JOIN pour connecter les tables QuestionTrackings (alias q) et QuestionAnswers (alias a). La condition de jointure q.AnswerID = a.AnswerID garantit que seules les lignes correspondantes (basées sur AnswerID) sont prises en compte. La clause SET attribue la valeur a.QuestionID à q.QuestionID pour chaque ligne où q.QuestionID est NULL.

Considérations importantes :

  • Prévisualisez la mise à jour : Avant d'exécuter l'instruction UPDATE, exécutez une requête SELECT (en utilisant les mêmes clauses JOIN et WHERE) pour prévisualiser les lignes qui seront affectées. Cela vous permet de vérifier l'exactitude de la mise à jour avant d'apporter des modifications à vos données.

  • Intégrité des données : Confirmez que chaque AnswerID de la table QuestionTrackings correspond de manière unique à un seul QuestionID de la table QuestionAnswers. Des AnswerID valeurs en double pourraient conduire à des résultats de mise à jour imprévisibles.

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!

Déclaration:
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