Maison > base de données > tutoriel mysql > Comment mettre à jour les ID de question NULL dans une table de base de données à l'aide d'une table associée ?

Comment mettre à jour les ID de question NULL dans une table de base de données à l'aide d'une table associée ?

Barbara Streisand
Libérer: 2025-01-10 06:48:46
original
584 Les gens l'ont consulté

How to Update NULL QuestionIDs in a Database Table Using a Related Table?

Mise à jour de la table de base de données : aligner les colonnes avec les valeurs référencées

Votre question concerne la mise à jour d'une table de base de données où la colonne QuestionID contient des valeurs nulles. Vous cherchez à définir ces valeurs nulles égales aux valeurs QuestionID correspondantes dans une table associée, « Réponses », référencée par la colonne AnswerID.

Pour y parvenir, vous pouvez exploiter une jointure interne. La requête suivante montre comment :

UPDATE QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL;
Copier après la connexion

L'opération INNER JOIN établit une connexion entre les lignes des tables QuestionTrackings et QuestionAnswers en fonction des valeurs AnswerID correspondantes. Cela nous permet d'accéder à la valeur QuestionID de la table QuestionAnswers pour chaque ligne de la table QuestionTrackings.

Vous pouvez ajouter des conditions supplémentaires à la clause WHERE pour affiner davantage les lignes à mettre à jour. Par exemple, si vous souhaitez uniquement mettre à jour les lignes où QuestionID est nul et AnswerID est inférieur à 500 :

UPDATE QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL AND q.AnswerID < 500;
Copier après la connexion

Il est recommandé de prévisualiser les lignes à mettre à jour à l'aide d'une requête de sélection avant d'exécuter la mise à jour pour garantir l'exactitude. :

SELECT *
FROM QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
WHERE q.QuestionID IS NULL;
Copier après la connexion

Cela vous aidera à vérifier que chaque AnswerID n'a qu'un seul QuestionID associé et à éviter des erreurs potentielles lors du processus de mise à jour.

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 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