Mettre à jour la table mysql avec les données d'une autre table
-
03-07-2019 - |
Question
Est-il possible d’exécuter une commande UPDATE sur mysql 5.0 avec une sous-sélection.
La commande que je voudrais exécuter est la suivante:
UPDATE book_details
SET live = 1
WHERE ISBN13 = '(SELECT ISBN13 FROM book_details_old WHERE live = 1)';
ISBN13 est actuellement stocké sous forme de chaîne.
Ceci devrait mettre à jour 10k + lignes.
Merci,
William
La solution
Juste un petit changement et vous l'avez:
UPDATE book_details
SET live = 1
WHERE ISBN13 in (SELECT ISBN13 FROM book_details_old WHERE live = 1);
Autres conseils
UPDATE table1 t1, table2 t2
SET t1.field_to_change = t2.field_with_data
WHERE t1.field1 = t2.field2;
UPDATE book_details AS bd, book_details_old AS old
SET bd.live=1
WHERE bd.isbn13=old.isbn13
AND old.live=1;
Pour mettre à jour une table à partir de données d'une autre table
UPDATE table1, table2 SET table1.field1 = table2.field1 où table1.id = table2.id
EX. Transaction UPDATE, membre SET transaction.Memberid = member.memberId
WHERE transaction.CardId = member.CardId;
Mise à jour des données à partir d'une autre table
UPDATE tab t1
SET t1.company_name = t2.company_name
FROM tab t2
WHERE t1.id = t2.id
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow