Bonjour,
J'ai créé une bdd dont les tables sont préfixées avec aa_ , je voudrais changer ce prefixe en ab_, comment faire ? sois avec une requete, soit avec phpmyadmin..
Merci
Bonjour,
J'ai créé une bdd dont les tables sont préfixées avec aa_ , je voudrais changer ce prefixe en ab_, comment faire ? sois avec une requete, soit avec phpmyadmin..
Merci
Bonjour,
Voici, d'après la doc, la commande pour changer le nom d'une base :
EDIT : Fausse alerte, cette commande est désormais supprimée de MySQL pour raison de sécurité.
Code : Sélectionner tout - Visualiser dans une fenêtre à part RENAME {DATABASE | SCHEMA} db_name TO new_db_name;
J'ai finalement trouvé :
- Ouvre phpmyadmin
- Clic sur ta BDD
- Onglet opérations
- Changer le nom de la base de données pour : <nouveau nom>
- Exécuter
dans phpmyadmin il y a dans operation le moyen de changer le nom de la bdd..mais pas de changer le prefixe...par ailleurs j'ai trouvé ceci :
mais je ne sais pas comment m'en servir (ou le mettre, comment l'executer..)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?php /* */ /* Titre : modifier en masse le préfixe du nom de tables mysql */ /* */ /* Auteur : forty */ /* Date édition : 19 Sept 2008 */ /* */ $sql_serveur = "à renseigner"; // Serveur mySQL $sql_base = "à renseigner"; // Base de données mySQL $sql_login = "à renseigner"; // Login de connection a mySQL $sql_password = "à renseigner"; // Mot de passe pour mySQL $prefix_old = 'forum_'; $prefix_new = 'forum__'; $lk = @mysql_connect($sql_serveur, $sql_login, $sql_password) or die(mysql_error ()); @mysql_select_db($sql_base, $lk) or die(mysql_error()); $q = mysql_query("SHOW TABLES LIKE '" . $prefix_old . "%'", $lk) or die( mysql_error()); while (($r = mysql_fetch_row($q)) !== false) { $new_name = $prefix_new . substr($r[0], strlen($prefix_old)); mysql_query("RENAME TABLE `" . $r[0] . "` TO `" . $new_name . "` ;", $lk) or die(mysql_error()); echo $r[0] . ' => ' . $new_name . "<br>\n"; } ?>
Il suffit de mettre ce script à la base de ton site, puis de lancer ta page :
tonsite.fr/tonscript.php
j'essaye la méthode du script mais je suis sur un drupal multisite..je voudrais changer le prefixe des tables de la BDD d'un sous-site...donc dans drupal il faut créer des dossier pour les sous-sites comme ceci :
sites/sous-site1
sites/sous-site2
etc...
j'ai mis mon fichier php dans sous-site1, auquel j'accede par un virtual host, ainsi j'ai tapé sous-site1.dev/monscript.php mais rien en se passe..
avant j'ai importé une bdd avec des tables préfixées aa_, dans le fichier settings j'ai indiqué que les tables doivent etre préfixées avec ab_.. peut etre que le problème vient de la ?
Je n'ai jamais utilisé Drupal donc je ne sais pas trop comment t'aider.
En tout cas j'aurais placé le script au même endroit.
Essaye de changer dans les settings et de remettre aa_, ça peut venir de la.
Sinon, dans ton script php, essaye de mettre :
Si rien ne s'affiche, l'erreur ne vient donc pas du script mais de la façon dont il est appelé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "test";
yes ça marche...en fait il faut mettre le script à la racine drupal, et renseigner les infos dans le script, nom bdd, hote,mdp...
opération réussie...
Partager