여러 값을 수집하는 두 개의 필드가있는 데이터베이스가 있습니다. 예를 들어, 하나는 색상이고, 한 행은 "red, blue, navyblue, lightblue, orange"
일 수 있습니다. 다른 필드는 숫자를 사용하며 colorID라고합니다. 하나의 행이 "1, 10, 23, 110, 239."
LIKE % ... %로 mySql을 쿼리하고 거짓 레코드를 가져 오지 않음
이 될 것입니다. 이제 SELECT * FROM my_table WHERE 'colors' LIKE %blue%;
으로 쿼리를 실행하면 모든 행에 파란색이 표시되지만 행에 "navyblue "또는"lightblue "를 포함 할 수도 있고 포함하지 않을 수도 있습니다. 마찬가지로, colorID를 사용하면 WHERE 'colorID' LIKE %1%
에 대한 쿼리가 원하는 것보다 훨씬 많은 행을 가져옵니다.
데이터베이스를 올바르게 쿼리하고 올바른 결과 만 반환하는 올바른 구문은 무엇입니까? FWIW 필드는 모두 쉼표로 인해 TEXT로 설정됩니다. 더 쉽고 정확하게 검색 할 수있는 데이터를 저장하는 더 좋은 방법이 있습니까?
올바른 결과는 무엇입니까? 또한 ID를 유지하는 경우에는 정수 C 럼 및 별도의 테이블을 사용하고 조인을 사용하여 ID를 u 리해야합니다. –