Tester l'existence d'un table

Répondre
Patochewie
le 27/06/2006 à 17:38
Patochewie
Bonjour tout le monde.
Une question toute bête, je cherches à tester, dans une appli php, l'existence d'une table, existe-til déjà une fonction du style table_exist($link, $table) ?
C'est juste que j'ai des tables a créer en php et je veux éviter de lancer la commande create si pour celles qui existent déjà.
Merci de votre attention.
LupusMic
le 27/06/2006 à 19:10
LupusMic
(moogli) Tu n'as pas correctement lu la question ;) Mais c'est peut-être ce qu'il veut en fin de compte.

Mais dans l'absolu, il faut faire la requête :
show tables like 'nom_table'


Et tu appelle mysql_num_result.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
moogli
le 27/06/2006 à 19:35
moogli

C'est juste que j'ai des tables a créer en php et je veux éviter de lancer la commande create si pour celles qui existent déjà.

pourquoi faire 2 requetes et une moulinnette php alors que ça ce fait en ajoutant 3 mots dans la requete ? ........

smiley
Il en faut peu pour être heureux !!!!!
Patochewie
le 28/06/2006 à 10:22
Patochewie
Vi j'avais commencé avec un show table puis une fonction de recherche sur les noms de table. ça marche niquel mais c'est un peu lent. Et là je suis tombé sur cette instruction magique IF NOT EXISTS. Je savais pas qu'on pouvait le faire dans une CREATE. Du coup ça résout mon problème. Merci bien à vous deux.
LupusMic
le 28/06/2006 à 10:41
LupusMic
(moogli) Je suis un looser : je te fais la morale et c'est moi qui lit pas correctement la question. J'ai honte, j'vais me cacher :'(
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Patochewie
le 28/06/2006 à 11:23
Patochewie
Bon je continue sur le même post même si le sujet dévie un peu.
Existe-t-il des fonctions toutes faites pour transferer une base oracle vers une base mysql?
Parce que là je me connecte sur ma base oracle, recupere mes données, me deconnecte de oracle, me connecte à mysql et insere les données. J'en profite donc pour créer les tables si nécessaire, vérifier mes données et tout. Mais comme d'hab, quand je finis mon truc je me dis qu'il doit exister plus simple...
moogli
le 28/06/2006 à 19:03
moogli
LupusMic :) pas de pb, t'était dans le vrai aussi ;)

ben je ne sais pas si oracle offre comme mysql le moyen d'utiliser un fichier, mais tu peut regarder du coté de load_data_in_file ....

si non, tu peut très bien ouvrir les connections aux deux serveur, et faire show table ( ou équivalent ) sur oracle tu récupère tous et tu rebalance sur mysql ;) ).
mais je pense que le dump dans un fichier est plus simple et te permet d'avoir une sauvegarde au passage (pour le cas ;) ) !

smiley
Il en faut peu pour être heureux !!!!!
Patochewie
le 29/06/2006 à 15:25
Patochewie
Oui j'ai également cette solution, je peux lancer un script PL-SQL qui me génère un fichier texte contenant les requêtes. Je pense que je peux ouvrir ce fichier et l'utiliser pour mysql. Le problème c'est que pour la création des tables il n'y a pas de soucis, j'en ai une petite trentaine, et ça se fait. J'ai eu par contre une petite frayeur lorsque j'ai généré le fichier contenant les insert pour ces tables. Je me suis retrouvé avec un fichier texte de plus de 700Mo. C'est la première fois que je travaille sur une base de cette taille.
Je ne sais donc pas qu'elle est la meilleur solution, créé et inserer à la volée avec des requetes, ou generer un dump que j'utilise ensuite?
moogli
le 29/06/2006 à 20:03
moogli
ben avec une telle taille, je pense que le fichier est une solution, et la c'est le client mysql qu'il faut que tu utilise et pas php ;)

je pense que 700 Mo de données ça ne se ballade pas comme ça ( enfin c'est mon avis :)).

surotut qu'avec php tu va avoir un time out si cela dure trop longtemp ( ce qui risque d'arriver !!!).

@+
Il en faut peu pour être heureux !!!!!
Répondre
LoadingChargement en cours