Aller au contenu

Tester l�existence d�une table


Sujets conseillés

Posté

Bonjour

Jécris dans des tables MySql classiquement avec des Insert, Delete, Replace, ...

Parfois, pour une raison que je peux expliquer, une table nexiste pas.

Quel ordre MySql pourrais je utiliser pour commencer par tester lexistence de la table avant dy écrire ?

Naturellement, la base existe.

Par avance merci.

Francois

Posté

Quand tu fais un export de données et structures, tu peux ajouter l'énoncé "Drop if exist" ou un truc comme ca... :)

Tu peux donc le détourner pour tes besoins...

Instruction sur Table1 IF EXISTS table1

A tester :)

Autre solution, faire un "SHOW TABLES LIKE '%Ma table%'"

Si tu retrouves dans la liste de résultat, ta table, c'est qu'elle existe :)

Posté

Hello,

à ta place je chercherais à comprendre pourquoi des tables "disparaissent"... ça n'est évidement pas du tout normal !

Posté

bonjour et merci de vos réponses.

Je suis en Php, ce que j'ai oublié de dire à l'origine.

J'aimerai trouver le code exact pour faire un SHOW_TABLES qui me permette de tester l'existence de la table.

Sinon, Non, je ne perd pas de tables; ma situation est diffrente mais son explication n'apporterait rien ici.

Par avance merci.

Francois

Posté

J'ai trouvé une solution:

/** Vérifier si $table est dans $db */
function table_ok($db, $table){
$query = "SHOW TABLES FROM $db";
$runQuery = mysql_query($query);

$tables = array();
while($row = mysql_fetch_row($runQuery)){
$tables[] = $row[0];
}

if(in_array($table, $tables)){
return TRUE;
}
}

Merci de votre aide.

Francois

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...