2009-08-23 6 views
1

Situation:instruction WHERE avec le champ SET

ont un champ SET appelé pays avec des valeurs

('us','uk','fr','intl')

Quand je vais tirer le contenu de la db:

$sql = "SELECT id, title, content "; 
$sql .= "FROM table_name "; 
$sql .= "WHERE country='us'"; 

Works amende avec des entrées étiquetées seulement «nous» mais si l'entrée est «nous, uk» ou «nous, fr, intl» et ainsi de suite. Ça ne les tire pas. Des idées?

Merci!

Répondre

5

Vous devez utiliser la fonction FIND_IN_SET().

SELECT id, title, content 
FROM table_name 
WHERE FIND_IN_SET('us', country) 
+0

Merci beaucoup! J'avoue que je suis un débutant mais comment diable sauriez-vous quelque chose comme ça? – MrSplashyPants

+0

Comme je n'ai jamais utilisé le type de données 'SET', je ne connaissais pas moi-même la syntaxe de la fonction. J'ai googlé "MySQL SET" qui trouve la documentation: http://dev.mysql.com/tech-resources/articles/mysql-set-datatype.html (Pendant que vous êtes là, je recommande le "Pourquoi vous ne devriez pas Utilisez la section SET "." – VoteyDisciple

Questions connexes