Tengo un campo COLORS (varchar(50))
en una tabla SHIRTS
que contiene una cadena delimitada por comas como 1,2,5,12,15,
. Cada número representa los colores disponibles.Búsqueda de MySQL valores en una cadena separada por comas
Al ejecutar la consulta select * from shirts where colors like '%1%'
para obtener todas las camisetas rojas (color = 1), también obtengo las camisas cuyo color es gris (= 12) y naranja (= 15).
¿Cómo debo volver a escribir la consulta para que se seleccione SOLAMENTE el color 1 y no todos los colores que contienen el número 1?
Puede hacer esto a través de Regex, supongo, pero la mejor solución sería romper los colores de la camisa en una mesa separada (colores) y usar una mesa de combinación (shirt_colors) usando los identificadores de color/camisa para unirlos. – ceejayoz
No puedo creer con 6 respuestas * ninguna * mencionó el tipo de datos SET de MySQL. – ColinM
verifique esto: http://stackoverflow.com/questions/12559876/finding-exact-value-from-a-comma -separated-string-in-php-mysql – Alireza