IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Changer une adresse dans une colonne de table de données


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Blogueuse
    Inscrit en
    Octobre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Blogueuse

    Informations forums :
    Inscription : Octobre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Changer une adresse dans une colonne de table de données
    Bonsoir,
    j'ai une petite question, j'ai migré mon forum vers un nouveau domaine.
    Sur le forum, chaque membre avait son espace de stockage personnel.
    J'ai donc migré l'espace de chacun, mais je dois modifier l'adresse du nom de domaine pour que le fichier soit prit en compte. Et vu que j'ai 5000 fichiers... Ca fait beaucoup de lignes à modifier à la main.

    Est-ce qu'il n'y a pas une requête SQL permettant de modifier tout d'un coup ?

    Table de données : wp_wpforo_attachments
    Colonnes : attachid / userid / filename / fileurl / size / mime / posts

    Je souhaite modifier une partie de la lgne fileurl

    Exemple d'un fichier.
    fileurl = //domaine1/wp-content/uploads/wpforo/attachments/nomdufichier

    Pour avoir accès au nouveau domaine, je dois remplacer le domaine1 par domaine2 ce qui donne ;
    fileurl = //domaine2/wp-content/uploads/wpforo/attachments/nomdufichier

    La ligne est donc la même sauf pour le nom du domaine qui change.

    Une petite requête pour juste changer quelques lettres de la colonne fileurl de chaque fichier ?
    Merci et bonne soirée

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 786
    Points
    30 786
    Par défaut
    Sur le principe, la requête est assez simple :
    Mettre à jour la colonne fileurl en concaténant l'adresse du nouveau domaine avec la partie de l'adresse du fichier au delà de la longueur de l'adresse de l'ancien domaine, pour les lignes dont la colonne
    fileurl commence par l'adresse de l'ancien domaine.
    A adapter au dialecte SQL utilisé par votre SGBD.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Blogueuse
    Inscrit en
    Octobre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Blogueuse

    Informations forums :
    Inscription : Octobre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour votre réponse
    Je n'y connais strictement rien en requête SQL. Pouvez vous s'il vous plaît me donner la commande a entrer ?
    Me permettant ainsi de modifier tous les fichiers de la table de données d'un seul coup.

    J'utilise MySQL

    Merci et bonne soirée

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Apparemment, vous utilisez Wordpress donc c'est du MySQL / MariaDB.

    Il faut utiliser la fonction REPLACE :
    Citation Envoyé par Doc_Mysql
    REPLACE(str,from_str,to_str)

    Retourne une chaîne de caractères str dont toutes les occurrences de la chaîne from_str sont remplacées par la chaîne to_str :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT REPLACE('www.mysql.com', 'w', 'Ww');
    -> 'WwWwWw.mysql.com'

    Cette fonction gère les caractères multi-octets.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Blogueuse
    Inscrit en
    Octobre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Blogueuse

    Informations forums :
    Inscription : Octobre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Si je comprends bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Update wp_wpforo_attachments
    Select replace ( 'domaine1', 'domaine1' ,  'domaine2' )
    A mon avis je me suis loupée quelque part.

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    UPDATE doit être suivi d'un SET :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Update wp_wpforo_attachments
    SET la_colonne_a_modifier = replace ( la_colonne_a_modifier, 'domaine1' ,  'domaine2' )

    Avant de faire l'UPDATE, toujours faire un SELECT de contrôle, pour vérifier que la mise à jour va bien produire ce qu'on souhaite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT la_colonne_a_modifier, replace ( la_colonne_a_modifier, 'domaine1' ,  'domaine2' )
    FROM wp_wpforo_attachments
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Blogueuse
    Inscrit en
    Octobre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Blogueuse

    Informations forums :
    Inscription : Octobre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup !

    ca a fonctionné !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Changer l'adresse d'une cellule dans une formule avec VBA
    Par Danner dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/05/2016, 09h12
  2. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  3. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  4. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  5. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo