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

source:php.cn
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