[mysql] Like {clef}

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2461
Inscription: 30 Aoû 2002

[mysql] Like {clef}

Message le Mer Jan 30, 2008 20:55

Salut à tous,
Je cherche à réaliser une requête mysql un peu particulière : je veux utiliser un LIKE sur la valeur d'un champ

ex : TABLE (ID, TEXT)

je recherche toutes les lignes de TABLE dont le champ TEXT contient la valeur de ID, encadrée par # et #


Vous avez une idée :?:

Merci


biddybulle
WRInaute passionné
WRInaute passionné
 
Messages: 1619
Inscription: 30 Mai 2005

Message le Mer Jan 30, 2008 23:30

foreach($id de la table as $idencours)
{
$sql = 'select * from table where text like \'%#'.$idencours.'#%\'';
}

un genre de truc comme ca ?

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2461
Inscription: 30 Aoû 2002

Message le Mer Jan 30, 2008 23:38

Code: Tout sélectionner
select * from table where id='.$idencours.' AND text like \'%#'.$idencours.'#%\''


J'y ai bien pensé, mais un peu lourd :oops:


biddybulle
WRInaute passionné
WRInaute passionné
 
Messages: 1619
Inscription: 30 Mai 2005

Message le Mer Jan 30, 2008 23:43

oui tu m'étonnes mais je me demande bien si il y a une solution

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2685
Inscription: 13 Fév 2004

Re: [mysql] Like {clef}

Message le Mer Jan 30, 2008 23:57

jeroen a écrit:ex : TABLE (ID, TEXT)

je recherche toutes les lignes de TABLE dont le champ TEXT contient la valeur de ID, encadrée par # et #


select * from table where text like concat('%#',id,'#%')

Evidemment ça fait un seq scan...

Jacques.

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2461
Inscription: 30 Aoû 2002

Message le Jeu Jan 31, 2008 0:02

Merci !

Seq scan, ça veut dire quoi ? :oops:

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2685
Inscription: 13 Fév 2004

Message le Jeu Jan 31, 2008 0:34

jeroen a écrit:Seq scan, ça veut dire quoi ? :oops:


Sequential scan. Ca veut dire qu'il va parcourir toute la table, qu'il ne peut pas utiliser d'index ou d'autre raccourci. Si c'est une petite table ou une requête peu fréquente, ça va, sinon, bonjours les dégâts...

Jacques.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités