Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/07/2006, 16h35   #1
Membre du Club
 
Inscription : avril 2006
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 110
Points : 53
Points : 53
Par défaut Recherche sur noms de colonnes

Bonjour bonjour !
J'aimerais pouvoir faire un SELECT sur des colonnes dont l'intitulé commence par "abc" et pas les autres. Je connais les fonctions habituelles de test comme LEFt ou MATCH,... mais il me semble qu'elles s'appliquent aux occurences des champs, pas à leur nom...
Pour résumer j'aimerais pouvoir appliquer une clause WHERE aux noms de colonnes... pouvez-vous s'il-vous-plait me dire si c'est possible et comment ?
philippe281281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2006, 16h49   #2
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Salut,

Si tu travailles avec MySQL5, tu peux connaître les colonnes d'une table qui commencent par 'abc' avec ce code :

Code :
SELECT column_name FROM information_schema.COLUMNS WHERE table_schema = 'NOM_BASE' AND table_name='NOM_TABLE' AND column_name LIKE 'abc%';
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2006, 16h57   #3
Membre du Club
 
Inscription : avril 2006
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 110
Points : 53
Points : 53
Merci de ta réponse ! Celle-ci signifie-t-elle que si je travaille avec la version 4.1.9 je suis perdu ?
philippe281281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2006, 16h59   #4
Membre éclairé
 
Avatar de DBProg
 
Étudiant
Inscription : juillet 2006
Messages : 242
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 242
Points : 315
Points : 315
Non ! Cette réponse signifie que tu peux faire ça seulement si tu as la version 5 de MySQL. C'est une nouvelle fonctionnalité de cette version.

Si tu as la version 3 ou 4, tu ne peux pas exécuter cette requête, la base information_schema n'existe pas.
__________________
La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
-----------------------------------------------------------
Retrouvez mes articles informatique sur mon Site Developpez.
Le reste, sur le Site perso !

DBProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2006, 17h04   #5
Membre du Club
 
Inscription : avril 2006
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 110
Points : 53
Points : 53
Oui, certes, j'exagérais un peu, je ne vais pas être perdu, mais je vais être quand même bien embêté... bon tant pis, je vais sélectionner toute la ligne alors que je ne veux que certaines colonnes... parce que je n'ai aucune envie de taper la liste de celles-ci dans ma requête ! (hé oui, ma paresse légendaire...)
Sinon un petit SELECT abc% ou un truc dans le genre ? Même pas ?
philippe281281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2006, 17h05   #6
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Citation:
Envoyé par philippe281281
Merci de ta réponse ! Celle-ci signifie-t-elle que si je travaille avec la version 4.1.9 je suis perdu ?
Non, c'est tout aussi simple mais différent et moins puissant :

Code :
SHOW COLUMNS FROM nom_table LIKE 'abc';
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2006, 17h13   #7
Membre du Club
 
Inscription : avril 2006
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 110
Points : 53
Points : 53
Ouais c'est pas mal ça ! Bon ça oblige à faire une deuxième requête avec mon API pour avoir les valeurs des colonnes trouvées, mais c'est mieux que la méthode bourrin sur laquelle je m'orientais, suivant en cela une habitude pernicieuse que je me fais fort d'abandonner !
Merci beaucoup à vous !
philippe281281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h54.


 
 
 
 
Partenaires

Hébergement Web