Renommer ses url dans un fichier sql

Fermé
mandrke Messages postés 103 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 26 mars 2015 - 25 sept. 2008 à 15:00
mandrke Messages postés 103 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 26 mars 2015 - 29 déc. 2009 à 13:50
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 3163 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 25 avril 2010 157
25 sept. 2008 à 15:03
Bonjour, un Update sur toute la base ;)
0
mandrke Messages postés 103 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 26 mars 2015
25 sept. 2008 à 15:05
Comment faut il proceder
je ne suis pas du tout programeur.

Peut tu me donner des détails
0
Hector Valdes
25 sept. 2008 à 15:15
UPDATE (table ou sont stockés les urls) set (url) = (urlNouveauNomDeDomaine)
0
mandrke Messages postés 103 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 26 mars 2015
25 sept. 2008 à 15:20
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 3163 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 25 avril 2010 157
25 sept. 2008 à 15:21
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
25 sept. 2008 à 15:40
Oui en effet, j'avais pas vu où tu voulais en venir.
0
mandrke Messages postés 103 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 26 mars 2015
25 sept. 2008 à 16:10
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
25 sept. 2008 à 16:30
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
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
25 sept. 2008 à 16:40
T'utilises quel SGBD?
0
mysql
0
Hector Valdes
25 sept. 2008 à 16:46
Tu as la fonction substring : http://dev.mysql.com/doc/refman/5.0/fr/string-functions.html
0
Hector Valdes
25 sept. 2008 à 16:53
Essaie ça :

UPDATE (tableUrl) SET url = REPLACE(url,ancienNomdeDomaine,nouveauNomdeDomaine)
0
mandrke Messages postés 103 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 26 mars 2015
25 sept. 2008 à 16:57
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 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
25 sept. 2008 à 17:18
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 103 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 26 mars 2015
25 sept. 2008 à 17:44
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 103 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 26 mars 2015
29 déc. 2009 à 13:50
petite modif

ne pas mettre le WHERE clipid = 4
--
0