Upadter plusieurs tables en une seule requête SQL sous MyAdmin
traderpierre
Messages postés
291
Date d'inscription
Statut
Membre
Dernière intervention
-
traderpierre Messages postés 291 Date d'inscription Statut Membre Dernière intervention -
traderpierre Messages postés 291 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je m' explique,
Dans ma base de données, j'ai plusieurs tables ayant chacune une colonne avec le même intitulé "id_lang",
Est-il possible d'updater les colonnes id_lang sur toutes ces tables en même temps, sachant que ces collonne ne sont pas liées entre elles,
J'avais essayé de mettre toutes les requêtes correspondant à chaque table dans la même requête mais ça ne fonctionne pas :
Voici mon code SQL :
UPDATE `ps_advice_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_attachment_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_attribute_group_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_attribute_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_badge_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_carrier_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_cart_rule_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_category_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_cms_category_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_cms_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_cms_role_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_configuration_kpi_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_configuration_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_contact_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_country_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_customization_field_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_feature_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_feature_value_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_gender_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_group_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_homeslider_slides_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_image_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_info_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_lang_shop` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_layered_indexable_attribute_group_lang_value` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_layered_indexable_attribute_lang_value` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_layered_indexable_feature_lang_value` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_layered_indexable_feature_value_lang_value` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_linksmenutop_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_link_block_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_manufacturer_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_meta_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbadeaude_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbadeaues_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbadeauit_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbadeauuk_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbandeaude_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbandeaues_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbandeaufr_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbandeauit_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbandeauuk_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_order_message_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_order_return_state_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_order_state_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_product_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_profile_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_quick_access_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_reassurance_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_risk_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
Si je teste sur une table individuelle ça fonctionne "une seule ligne ci dessus"
Est il possible de lancer toutes ces updates en une seule requête ???
Merci par avance
je m' explique,
Dans ma base de données, j'ai plusieurs tables ayant chacune une colonne avec le même intitulé "id_lang",
Est-il possible d'updater les colonnes id_lang sur toutes ces tables en même temps, sachant que ces collonne ne sont pas liées entre elles,
J'avais essayé de mettre toutes les requêtes correspondant à chaque table dans la même requête mais ça ne fonctionne pas :
Voici mon code SQL :
UPDATE `ps_advice_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_attachment_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_attribute_group_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_attribute_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_badge_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_carrier_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_cart_rule_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_category_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_cms_category_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_cms_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_cms_role_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_configuration_kpi_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_configuration_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_contact_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_country_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_customization_field_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_feature_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_feature_value_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_gender_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_group_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_homeslider_slides_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_image_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_info_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_lang_shop` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_layered_indexable_attribute_group_lang_value` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_layered_indexable_attribute_lang_value` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_layered_indexable_feature_lang_value` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_layered_indexable_feature_value_lang_value` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_linksmenutop_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_link_block_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_manufacturer_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_meta_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbadeaude_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbadeaues_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbadeauit_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbadeauuk_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbandeaude_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbandeaues_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbandeaufr_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbandeauit_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_multihtmlblockbandeauuk_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_order_message_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_order_return_state_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_order_state_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_product_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_profile_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_quick_access_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_reassurance_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
UPDATE `ps_risk_lang` SET `id_lang`= REPLACE(`id_lang`,7,8);
Si je teste sur une table individuelle ça fonctionne "une seule ligne ci dessus"
Est il possible de lancer toutes ces updates en une seule requête ???
Merci par avance
A voir également:
- Upadter plusieurs tables en une seule requête SQL sous MyAdmin
- Comment imprimer un tableau excel sur une seule page - Guide
- Regrouper plusieurs feuilles excel en une seule - Guide
- Tables des matières word - Guide
- Mettre une seule page en paysage word - Guide
- Application se ferme toute seule android - Guide
1 réponse
Bonjour,
Peut être un
voir : https://dev.mysql.com/doc/refman/8.0/en/update.html
Avec Oracle, je ferais une procédure PL/SQL qui interrogerait le dictionnaire de données pour trouver toutes les tables ayant le champ id_lang, et qui génèrerait un update dynamique avec les tables trouvées.
Cdlt
Peut être un
UPDATE `ps_advice_lang` , `ps_attachment_lang`, ... , `ps_risk_lang` SET `ps_advice_lang.id_lang`= REPLACE(`ps_advice_lang.id_lang`,7,8), `ps_attachment_lang.id_lang`= REPLACE(`ps_attachment_lang.id_lang`,7,8), ... `ps_risk_lang.id_lang`= REPLACE(`ps_risk_lang.id_lang`,7,8)
voir : https://dev.mysql.com/doc/refman/8.0/en/update.html
Avec Oracle, je ferais une procédure PL/SQL qui interrogerait le dictionnaire de données pour trouver toutes les tables ayant le champ id_lang, et qui génèrerait un update dynamique avec les tables trouvées.
Cdlt
MySQL a répondu : Documentation
#1054 - Champ 'ps_advice_lang.id_lang' inconnu dans field list
Le message est du au fait que les backquotes se mettent autour de chaque "objet" (nom de table, nom de champ...) et pas sur un "ensemble"
Par exemple
est à remplace par :