Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[bruit] mysql

4 réponses
Avatar
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é)

4 réponses

Avatar
Firetox
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" a écrit dans le message de
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é)


Avatar
Roumégou Eric
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é)
Avatar
Roumégou Eric
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é)
Avatar
Jacques Trepp
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...