[mysql] Like {clef}

WRInaute passionné
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
 
WRInaute passionné
foreach($id de la table as $idencours)
{
$sql = 'select * from table where text like \'%#'.$idencours.'#%\'';
}

un genre de truc comme ca ?
 
WRInaute passionné
Code:
select * from table where id='.$idencours.' AND text like \'%#'.$idencours.'#%\''

J'y ai bien pensé, mais un peu lourd :oops:
 
WRInaute accro
jeroen a dit:
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.
 
WRInaute accro
jeroen a dit:
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.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut