Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes 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 12/04/2011, 15h59   #1
Invité de passage
 
Inscription : avril 2009
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 42
Points : 3
Points : 3
Par défaut Comparaison valeur à une table entière (ou base)

Bonjour à tous !

Je souhaiterais comparer une valeur à tous les champs d'une table (ou d'une base ce serait encore mieux !)

J'ai essayé des choses pour en arriver à quelque chose de ce style là, mais apparemment ça coince quelque part :
Code :
1
2
3
SELECT FROM table1 
WHERE table1.* LIKE "%mot_clé%" 
ORDER BY NOM;
Quelqu'un aurait-il la bonne formulation ?

Merci d'avance pour votre aide !
trifly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 17h19   #2
Membre Expert
 
Avatar de Nudger
 
Homme Thomas Arnaud
Directeur de projet
Inscription : octobre 2010
Messages : 452
Détails du profil
Informations personnelles :
Nom : Homme Thomas Arnaud
Âge : 36
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Directeur de projet
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2010
Messages : 452
Points : 1 012
Points : 1 012
Envoyer un message via Skype™ à Nudger
Bonjour,

Je ne crois pas que ce soit possible en SQL.
Le mieux c'est de faire un dump de la base et un grep sur le fichier de dump.
__________________
www.nudge.org Surveillez et optimisez vos applications Java
Nudger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 06h21   #3
Membre Expert
 
Homme Eric Dureuil
Développeur informatique
Inscription : avril 2011
Messages : 843
Détails du profil
Informations personnelles :
Nom : Homme Eric Dureuil
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 843
Points : 1 318
Points : 1 318
Salut,
l'idée est de faire une procédure stockée qui prend en entrée la valeur à chercher:

Code sql :
CREATE procedure search(IN db_name varchar(64), IN value varchar(255))

Tu crées un curseur qui va information_schema:
[La liste des colonnes des tables de la bd que tu as choisi qui se trouve dans la table `information_schema`.`COLUMNS`:

Code sql :
1
2
3
4
declare cursor c FOR 
SELECT concat("select count(id) into @resultat from `",table_name,"` where`",column_name,"`=",value)
FROM `information_schema`.`COLUMNS`
WHERE table_schema=db_name AND data_type="varchar";

Tu fais une boucle de lecture qui fetch ça dans la variable globale @rech par exemple :

Code sql :
fetch c INTO @rech;

Et là tu utilises une requête préparée pour le test:


Code sql :
1
2
3
prepare exe FROM @rech;
execute exe;
deallocate prepare exe;

Si @resultat est true alors tu quittes la boucle sinon tu continues...

Voilà l'idée
ericd69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 19h56   #4
Membre du Club
 
Homme Andre Parent
Webmaster
Inscription : septembre 2007
Messages : 96
Détails du profil
Informations personnelles :
Nom : Homme Andre Parent
Localisation : Canada

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2007
Messages : 96
Points : 66
Points : 66
Je ne sais pas si cela peut t'aider mais dans PHPMyAdmin tu a une fonction rechercher qui te permet de rechercher dans toute les tables de ta BD
Webselect est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h58.


 
 
 
 
Partenaires

Hébergement Web