Mettez à jour la valeur de la ligne dans le tableau en fonction du nom d'utilisateur correspondant
Q : Mettre à jour la valeur du tableau
Dans SQL Database, vous avez deux tables, table_a et table_b, qui ont toutes deux une colonne commune appelée user_name. Vous souhaitez copier des colonnes spécifiques (nommées column_b_1 et column_b_2) dans table_b vers les colonnes correspondantes (column_a_1 et column_a_2) dans table_a en fonction des valeurs de nom d'utilisateur correspondantes. Comment puis-je y parvenir à l’aide d’instructions SQL ?
Réponse : Solution
Si les index appropriés sont en place, vous pouvez utiliser l'instruction UPDATE suivante :
UPDATE table_a SET column_a_1 = (SELECT table_b.column_b_1 FROM table_b WHERE table_b.user_name = table_a.user_name), column_a_2 = (SELECT table_b.column_b_2 FROM table_b WHERE table_b.user_name = table_a.user_name) WHERE EXISTS ( SELECT * FROM table_b WHERE table_b.user_name = table_a.user_name );
Remarque : Cette instruction UPDATE utilise une sous-requête pour récupérer les valeurs de colonne de table_b qui correspondent à chaque ligne de table_a qui a un nom d'utilisateur correspondant .
Si les performances sont un problème, envisagez d'utiliser les opérations SELECT et JOIN pour créer une table temporaire pour stocker les lignes modifiées. Vous pouvez ensuite supprimer les données existantes de table_a et les repeupler à partir de la table temporaire.
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!