Résolu SQL : Alter table sur 100 tables

Solutions (5)
Tags :
  • default
  • table
  • character
  • Sql
  • Programmation
, OS + (collector) |
B'jour,

Voici ma requête :

ALTER TABLE table1 DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;

Le souci c'est que je dois l'effectuer sur 100 tables.

Y a t il moyen de la faire d'un coup sur les 100 tables ?

Merci
Contenus similaires
Meilleure solution
partage
|
Bonsoir,

Pour ce genre de situation il me semble que les DBA font une requête SQL utilisant la fonction concat() qui génère du SQL qui est ensuite exécuté. Ça doit donner quelque chose comme:

  1. select CONCAT('ALTER TABLE ', table_name, ' DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;') from information_schema.tables where table_schema= 'ma_base_de_donnees';
  • Commenter cette solution |
Score
0
òh
òi
, OS + (collector) |
Edyr a dit :
Bonsoir,

Pour ce genre de situation il me semble que les DBA font une requête SQL utilisant la fonction concat() qui génère du SQL qui est ensuite exécuté. Ça doit donner quelque chose comme:

  1. select CONCAT('ALTER TABLE ', table_name, ' DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;') from information_schema.tables where table_schema= 'ma_base_de_donnees';


En un mot:

NICKEL

Merci
  • Commenter cette réponse |
Score
0
òh
òi
, OS + (collector) |
Meilleure réponse sélectionnée par TGV6773.
  • Commenter cette réponse |
Score
0
òh
òi
|
Ah oui, pas mal du tout.
  • Commenter cette réponse |
Score
0
òh
òi
|
Avec un petit script PHP, tu peux:
  1. <?php
  2. $sql_tables = "SHOW TABLES";
  3. $req_tables = mysql_query($sql_tables);
  4. while (list($table) = mysql_fetch_row($req_tables)) {
  5. $sql = "ALTER TABLE ".$table." DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci";
  6. $req = mysql_query($sql);
  7. }
  8. ?>

Je n'ai pas mis la connexion à la base de données, il faut penser à l'ajouter.
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS