2014-08-28 3 views
0

나는 기본적으로 내가 쉼표로 분리 된 목록 또는 무언가를 구축하고 COLUMNA의 값이 점에서이 있는지 확인하려면이MySQL을 선택

SELECT * from TableA WHERE ColumnA IN (LIST) 

처럼 많은 쿼리를 할 싶습니다 명부.

하위 쿼리를 수행 할 수 있지만 이미 내 응용 프로그램에 필요한 목록이 있으며 다시 쿼리하지 않아도됩니다.

+0

그래서 * 정확하게 * 문제가 무엇입니까? 알려진 문자열을 쉼표로 구분 된 목록으로 변환하거나 그렇지 않으면? – Terry

+0

신청서는 무엇입니까? PDO가있는 PHP? – user1032531

답변

0

쉽게 할 수 있습니다. 당신의 ColumnA 데이터 형식이 텍스트 데이터 형식의 일종 인 경우

,이 같은 쿼리를 생성하는 프로그램을 작성해야 :

SELECT whatever FROM TableA WHERE ColumnA IN ('brillig','slithy','tove','gyre') 

참고 문자열의 쉼표로 구분 된 목록을, 그리고 참고 문자열 작은 따옴표 '으로 구분됩니다.

바인드 변수를 사용하는 경우 문자열 변수를 바인드해야합니다. 준비된 쿼리는 다음과 같습니다.

SELECT whatever FROM TableA WHERE ColumnA IN (?,?,?,?) 

목록을 바인딩 변수로 사용하는 것은 마술이 아닙니다 (ColdFusion 제외). 변수를 하나씩 바인딩해야합니다.