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