J'ai 2 tables, appels et comptes. Les "appels" individuels ont un "compte" parent et les deux tables ont une colonne "utilisateur assigné" de sorte que les appels et les comptes peuvent être affectés à des personnes spécifiques. Dans le processus de nettoyage de base de données, nous voulons définir l'utilisateur affecté de chaque appel à l'utilisateur affecté du compte correspondant. Malheureusement, nous n'avons pas de base de données de test avec laquelle travailler et je voulais que cette mise à jour soit exécutée par tout le monde ici pour s'assurer que cela n'aurait pas de résultats non désirés. Ma seule crainte est que l'instruction SET définisse peut-être le même utilisateur pour TOUS les appels au lieu de tirer sur l'utilisateur assigné pour chacun d'eux. Ici, il est:Instruction MySQL UPDATE
UPDATE
FROM calls AS c
INNER JOIN accounts AS a ON c.parent_id=a.id
SET c.assigned_user_id=a.assigned_user_id
WHERE c.status='PLANNED'
c.status est tout simplement un drapeau pour changer seul avenir (« PRÉVU ») appelle pas ceux dans le passé
Ma crainte est que si je compte A attribué à X et le compte B attribué à Y et le compte C attribué à Z que lorsque la mise à jour sera exécutée, ils seront tous assignés à Z au lieu de l'utilisateur du compte correspondant. Est-ce que je suis correct ou juste en train de trop réfléchir? Essentiellement, les mises à jour sont-elles traitées comme un gros lot ou chaque rangée est-elle évaluée individuellement?