Renommer ses url dans un fichier sql

mandrke Messages postés 109 Statut Membre -  
mandrke Messages postés 109 Statut Membre -
Bonjour,

Voila mon probleme,j'ai un site de streaming et je viens de déplacer mes videos sur un nouveau serveur.

Je cherche le moyen de renommer toutes les url de ma base avec le nouveau nom de seveur.

J'ai vu la fonction rename,mais apparement a première vu ca sert a renommer les tables.

Connaissez vous un moyen simple pour renommer mes url (changement du nom de domaine)

ex:

http://mon_ancien_domaine/mavideo

par

http://mon_nouveau_domaine/mavideo

J'ai plus de 3300 vidéos,voila pourquoi j'ai besoin d'une methode automatique.

Merci pour vos réponse
A voir également:

12 réponses

@nGel_974 Messages postés 3489 Date d'inscription   Statut Membre Dernière intervention   157
 
Bonjour, un Update sur toute la base ;)
0
mandrke Messages postés 109 Statut Membre
 
Comment faut il proceder
je ne suis pas du tout programeur.

Peut tu me donner des détails
0
Hector Valdes
 
UPDATE (table ou sont stockés les urls) set (url) = (urlNouveauNomDeDomaine)
0
mandrke Messages postés 109 Statut Membre
 
Merci pour ta réponse

De cette facon cela va modifier que la première parti de mes url ont est bien d'accord.

Les chemins de fichiers ne doivent pas bouger,c'est ca qui est problématique pour moi,c'est qu'il ne faut modifier que le debut de l'url.

avec cette méthode est ce que cela ne risque pas de me supprimer l'url entière et la remplacer par juste mon nom de domaine?

Merci de ta patience je ne suis pas un expert.
0
@nGel_974 Messages postés 3489 Date d'inscription   Statut Membre Dernière intervention   157
 
Heu en fait je pense qu'il faut faire une petite magouille, mais je ne m'avancerais pas plus, parce que là je dois aller réviser mon sql avant de te répondre ^^'

Et je crois bien que l'update écrase la donnée modifier !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hector Valdes
 
Oui en effet, j'avais pas vu où tu voulais en venir.
0
mandrke Messages postés 109 Statut Membre
 
j'ai trouvé un morceau de code en java pour réécrire sur un fichier texte.

Peut etre peut on utiliser cette méthode directement sur le fichier texte sql.

Je ne sais pas je n'y connait pas grand chose voila le code et l'explication avec,peut etre qu'il y a une possibilté.seulement je ne sait pas comment m'en servir mais theoriquement c'est possible je pense.

voila la demande:

je souhaite lire un fichier texte ligne à ligne, puis transformer chacune de ces lignes (en remplacant des mots) puis tout réécrire dans le fichier de départ (les nouvelles lignes remplacent les anciennes).

voila le code:

import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;


public class Test2
{

public static void main(String[] args)
{
try
{
BufferedWriter out = new BufferedWriter(new FileWriter("c:\\test.txt"));
String s = "bonjour";
out.write(s);
out.newLine();
s = "tout le monde";
out.write(s);
out.close();
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

}


}

Et ma question:

donc si je remplace bonjour par http://www.monanciendomaine.com

et tout le monde par http://www.monnouveaudomaine.com

est ce que ca peut marcher?

Et surtout comment executer le code java,j'ai essayé j'ai pas réussi.avec notpad++ ca doit etre faisable mais je sait pas comment.

Avis aux connaisseurs.
0
Hector Valdes
 
Que tu passes par Java ou n'importe quel autre langage, il faudra que tu exécutes des requetes SQL, donc ça sert à rien. Il faut que tu te fasses une fonction directement en SQL.
0
mandrke
 
N'est il pas possible de remplacer les chaines directement dans le fichier texte et ensuite reimporter le fichier sql modifié?

Le problème c'est que je ne sait pas faire la modif dans sql,sinon je ne serais pas la.
0
Hector Valdes
 
T'utilises quel SGBD?
0
mandrke
 
mysql
0
Hector Valdes
 
Tu as la fonction substring : http://dev.mysql.com/doc/refman/5.0/fr/string-functions.html
0
Hector Valdes
 
Essaie ça :

UPDATE (tableUrl) SET url = REPLACE(url,ancienNomdeDomaine,nouveauNomdeDomaine)
0
mandrke Messages postés 109 Statut Membre
 
tu a peut etre raison mon colegue me dit que ca devrais marcher.

Je fait l'essai et je te dit si c'est bon
0
Mikey_UFC Messages postés 315 Statut Membre 1
 
Tout dépend de l'organisation des données.

C'est bizarre d'avoir 3000 fois le nom de domaine dans la base.
0
mandrke Messages postés 109 Statut Membre
 
C'est bon ca marche niquel

Voici la requetes sql a effectuer pour modifier les url:

UPDATE `xoops_smartmedia_clips` SET file_hr = REPLACE(file_hr, "www.stream-animes.com", "sd-16142.dedibox.fr"), file_lr = REPLACE(file_lr, "www.stream-animes.com", "sd-16142.dedibox.fr") WHERE clipid = 4;

Et voila le tour est joué
0
mandrke Messages postés 109 Statut Membre
 
petite modif

ne pas mettre le WHERE clipid = 4
--
0