[bruit] mysql

Le
Roumégou Eric
Bonjour

j'ai besoin dans un scrit mysql de tester l'existence de la table.

c'est un script qui passe toutes les tables en myISAM mais il est
possible que la table n'existe pas dans la base.

en fait je dois passer des cdes (une 100taines de tables) du style

alter table actionformation, Engine=MyISAm;

mais si une table n'existe pas; cela plante.
le alter table if exists n'existant hélas pas, je cherche à tester
l'existence de la table ou monitorer l'erreur pour continuer.

Bien sûr tout doit être fait ds le script sql car cela doit passer
ensuite dans une de mes robots qui va faire cela sur une 30taine de
bases différentes sur des serveurs différents.

Merci de votre aide.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Firetox
Le #23427411
Bonjour,

voici un select qui va te construire le script a executer

select concat("alter table ",TABLE_SCHEMA,".",TABLE_NAME," type=innodb;")
from information_schema.TABLES where TABLE_SCHEMA=MaBaseDeDonnées"'

ensuite reste plus qu'a executer cette requete qui est le resultat




"Roumégou Eric" news:
Bonjour

j'ai besoin dans un scrit mysql de tester l'existence de la table.

c'est un script qui passe toutes les tables en myISAM mais il est possible
que la table n'existe pas dans la base.

en fait je dois passer des cdes (une 100taines de tables) du style

alter table actionformation, Engine=MyISAm;

mais si une table n'existe pas; cela plante.
le alter table if exists n'existant hélas pas, je cherche à tester
l'existence de la table ou monitorer l'erreur pour continuer.

Bien sûr tout doit être fait ds le script sql car cela doit passer ensuite
dans une de mes robots qui va faire cela sur une 30taine de bases
différentes sur des serveurs différents.

Merci de votre aide.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)


Roumégou Eric
Le #23427401
Firetox a formulé ce lundi :
Bonjour,

voici un select qui va te construire le script a executer

select concat("alter table ",TABLE_SCHEMA,".",TABLE_NAME," type=innodb;")
from information_schema.TABLES where TABLE_SCHEMA=MaBaseDeDonnées"'

ensuite reste plus qu'a executer cette requete qui est le resultat



merci Frederic
je cherche effectivement la table à requeter correspondant au show
table status.
J'espèrais en ton information_schema.TABLES
je viens de faire un
select * from information_schema.TABLES

sur ma base et cela n'existe pas.
Es tu sûr qu'il ne s'agit bien d'une table système mySQL ?

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Roumégou Eric
Le #23427491
Roumégou Eric a couché sur son écran :
Firetox a formulé ce lundi :
Bonjour,

voici un select qui va te construire le script a executer

select concat("alter table ",TABLE_SCHEMA,".",TABLE_NAME," type=innodb;")
from information_schema.TABLES where TABLE_SCHEMA=MaBaseDeDonnées"'

ensuite reste plus qu'a executer cette requete qui est le resultat



merci Frederic
je cherche effectivement la table à requeter correspondant au show table
status.
J'espèrais en ton information_schema.TABLES
je viens de faire un
select * from information_schema.TABLES

sur ma base et cela n'existe pas.
Es tu sûr qu'il ne s'agit bien d'une table système mySQL ?



mouaih ... j'ai l'impression que cette table bien pratique n'existe pas
en 4.22
qu'en mysql 5

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Jacques Trepp
Le #23427521
Il se trouve que Roumégou Eric a formulé :
Bonjour

j'ai besoin dans un scrit mysql de tester l'existence de la table.

c'est un script qui passe toutes les tables en myISAM mais il est possible
que la table n'existe pas dans la base.

en fait je dois passer des cdes (une 100taines de tables) du style

alter table actionformation, Engine=MyISAm;

mais si une table n'existe pas; cela plante.
le alter table if exists n'existant hélas pas, je cherche à tester
l'existence de la table ou monitorer l'erreur pour continuer.

Bien sûr tout doit être fait ds le script sql car cela doit passer ensuite
dans une de mes robots qui va faire cela sur une 30taine de bases différentes
sur des serveurs différents.

Merci de votre aide.



A part un Create Table if not exists dans la requete, je ne vois pas...
Publicité
Poster une réponse
Anonyme