Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Tester l'existence d'une table

schlim, le jeudi 8 avril 2004 à 09:52:30
Bonjour,

Est ce que qqn pourrais me dire la fonction qui permet de tester si une table MySql existe... merci d'avance


schlim
Répondre à schlim  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ludvo, le jeudi 8 avril 2004 à 10:06:11
Hello

Je ne sais pas s'il y a un fonction qui fait ca mais tu peux faire une requete toute bete (je ne sais pas si ca peut marcher sous MySql) :

select count(table_name) from user_tables;
where table_name ="nom de ta table";
group by table_name;


Si ca te renvoie 0, elle n'existe pas sinon elle existe

vala :)
----------
A computer lets you make more mistakes faster than any inven
Répondre à ludvo

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flokocha, le jeudi 8 avril 2004 à 10:15:55
Ou bien tu peux essayer
mysql_query("SELECT * FROM tatable") or die ("La table n'existe pas")

Ca devrait fonctionner ça non?
Répondre à flokocha

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
schlim, le jeudi 8 avril 2004 à 12:56:08
ouaip... je vais essayer... en tous cas je vous remercie
Répondre à schlim

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Evan, le lundi 26 février 2007 à 11:51:25
Les réponses ci-dessus ne sont pas bonnes, car elles considèrent qu'une table n'existe pas quand elle est vide...

La bonne solution :

function mysql_table_exists($table , $db) {
$tables=mysql_list_tables($db);
while (list($temp)=mysql_fetch_array($tables)) { if($temp == $table) { return 1; } }
return 0;
}
Répondre à Evan

5


  • 5
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
ouckileou, le dimanche 29 juillet 2007 à 03:39:27
Salut,

en fait pour que le test à l'aide d'un SELECT fonctionne, il aurait fallu tester le code d'erreur MySQL retourné. Il me semble que c'est 2 si la table n'existe pas.

Ta petite fonction est bien (déjà c'est réutilisable et tout), mais la fonction PHP est dépréciée : http://fr.php.net/manual/fr/function.mysql-list-tables.php

Ils suggèrent d'utiliser la requête :
SHOW TABLES [FROM db_name] [LIKE 'pattern']

Ce qui nous donnerait ta fonction actualisée :
function mysql_table_exists($table , $db) {
	$requete = 'SHOW TABLES FROM '.$db.' LIKE \''.$table.'\'';
	$exec = mysql_query($requete);
	return mysql_num_rows($exec);
}


++

Edit : en fait j'ai relu plus attentivement et le SHOW TABLE est la bonne syntaxe de la solution proposé en 1. Quant au 2, il n'aurait pas renvoyé d'erreur si la table était vide, mais par contre il aurait considéré que la table n'existe pas alors que la requête aurait pu échouer pour mille autres raisons :)
Répondre à ouckileou

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Elengal, le dimanche 6 avril 2008 à 12:27:22
Bonjour,

je découvre cette solution à ce problème qui m'intéresse.

Et j'aurais voulu savoir (car je débute aussi)
s'il possible d'écrire ceci?
function mysql_table_exists($table , $db) {
$tables=mysql_list_tables($db);
while (list($temp)=mysql_fetch_array($tables)) { if($temp == $table) { return 1; } }
mysql_query("CREATE TABLE ".$table." (id INT PRIMARY KEY (id))");
}


Merci à bientôt
Répondre à Elengal

6


  • 3
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
jipegz, le samedi 4 août 2007 à 19:55:14
flokocha, je te remercie, tu viens de me sortir d'une journée de recherche presque complète. :)
Répondre à jipegz
Cellule extenssibles (Résolu) Bonjour, J'aimerais savoir comment créer un tableau extensible. Je m'explique : J'ai crée un site (encore en bêta test), en tableau. En gros il y a l'image du haut, le menu horizontal, le menu de gauche, le corps, et la bande du... www.commentcamarche.net/forum/affich-6691327-cellule-extenssibles
Problème CSS (Résolu) Bonjour, j'ai un problème de CSS, je ne voit pas d'où vient le problème : dans mon CSS j'ai ceci table#test1 { attributs ; } table#test2 { attributs ; } Quand je fait un tableau avec comme id=test1 cela fonctionne, mais pas le second ! www.commentcamarche.net/forum/affich-7656740-probleme-css
Macro Excel : test existence onglet (Résolu) Bonjour, Je dispose d'un classeur excel dans lequel le premier onglet est une table des matières avec des liens hypertexte vers les autres onglets. Afin de maintenir cette table à jour, je souhaite créer une macro qui supprime les références des... www.commentcamarche.net/forum/affich-9479042-macro-excel-test-existence-onglet
[Shell] Tester une variable numériqueTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à... www.commentcamarche.net/faq/sujet-4605-shell-tester-une-variable-numerique
Installer Linux sans repartitionner (avec Wubi)Voici une solution qui vous permettra de tester Linux sans repartitionner votre disque dur, sans toucher à la table de partition, ni au MBR (Master Boot Record). Linux sera installé dans le répertoire c:\Ubuntu et vous pourrez le désinstaller comme... www.commentcamarche.net/faq/sujet-11322-installer-linux-sans-repartitionner-avec-wubi
[ADSL] Tester la vitesse de connexion internet (test de débit)Les vitesses de téléchargement (théoriques) : Connexions Pourquoi cette différence ? J'ai un ADSL xxxx, mais quand je télécharge ça va moins vite que ce que ça devrait, pourquoi ? L'upload est trop lent ! Liens Tests de débit... www.commentcamarche.net/faq/sujet-528-adsl-tester-la-vitesse-de-connexion-internet-test-de-debit
[batch] Tester l'existence d'un répertoire (a (Résolu)Bonjour à tous. J'écris un script batch dans lequel j'ai besoin de tester l'existence d'un répertoire. Pour ça, j'utilise la commande "if exist %1\nul" ou %1 est un argument appelé avec mon script (en fait, j'exécute mon... www.commentcamarche.net/forum/affich-3623789-batch-tester-l-existence-d-un-repertoire-a
[ACCESS-VBA]-Vérifier la présence d'une table (Résolu)Bonjour, Je souhaiterai savoir comment on peut vérifier la présence d'une table sous VB ACCESS ? Car j'aimerai effectuer un test au début Si la table existe alors on fait sinon on la créée Pour le moment je supprime la table manuellement... www.commentcamarche.net/forum/affich-3277743-access-vba-verifier-la-presence-d-une-table
Test valeur cellule sous excel (Résolu)Bonjour à toutes et tous, Je débute la programmation VBA sous excel 2003 et je rame complètement avec le problème suivant. J'ai un tableau excel avec plusieurs colonnes et 50 lignes. Je veux que chaque fois qu'une cellule sera testée comme... www.commentcamarche.net/forum/affich-6048025-test-valeur-cellule-sous-excel
Télécharger Online Armor Personal FirewallOnline Armor est un Firewall + un IDS Uniquement en anglais - pour l'instant - mais complet et entièrement gratuit. Un test de performances très intéressant se trouve ici (en anglais) : Lire tout le test Voir le tableau des résultats Voir le... www.commentcamarche.net/telecharger/telecharger-34055356-online-armor-personal-firewall
Télécharger DSL TestDSLtest est constitué d'un logiciel à télécharger gratuitement et de serveurs de test. Ces équipements vous permettent d'effectuer des mesures du débit de votre ligne ADSL (en fonction de votre abonnement) mais également d'estimer l'utilisation des... www.commentcamarche.net/telecharger/telecharger-34055202-dsl-test
Les tableauxUtilisation de tableaux Il est souvent utile de présenter des informations mieux structurées qu'avec des listes. Les tableaux permettent de les afficher en lignes et en colonnes. Les tableaux sont définis comme étant des suites de lignes. Un... www.commentcamarche.net/contents/html/htmltable.php3
Tests et diagnostics du réseauTester la configuration IP Avant toute chose, il est recommandé de véfier la configuration IP de l'ordinateur. Les systèmes Windows proposent un outil en ligne de commande, appelé ipconfig permettant de connaître la configuration IP de... www.commentcamarche.net/contents/configuration-reseau/tests-diagnostics-reseau.php3
Javascript - Les tableauxIntroduction à la notion de tableau Les variables de Javascript ne permettent de stocker qu'une seule donnée à la fois. Or, étant donné qu'il est souvent utile de manipuler de nombreuses données, le concept de variable se révéle parfois... www.commentcamarche.net/contents/javascript/jstab.php3