MySQL에서 쿼리 실행을 위해 동적으로 열 이름 연결
문제 설명:
MySQL에서 , 열 이름의 첫 번째 부분이 문자열이고 두 번째 부분이 다른 쿼리에서 검색된 숫자인 쿼리에서 열 이름을 연결하는 것이 좋습니다.
시도한 해결 방법:
다음 SQL 문은 연결을 시도합니다.
<code class="sql">SELECT CONCAT('column', mytable.mycolumn) FROM table ...</code>
그러나 이 접근 방식은 원하는 결과를 얻지 못하며 연결이 효과적이지 않은 것 같습니다.
해결책 :
이전의 믿음과는 달리 서버측에서 준비된 문을 사용하여 MySQL에서 열 이름을 동적으로 생성하는 것이 실제로 가능합니다. 다음 접근 방식을 고려하십시오.
<code class="sql">set @query := ( select concat( "select", group_concat(concat("\n 1 as ", column_name) separator ','), "\nfrom dual") from information_schema.columns where table_name = 'columns') ; prepare s1 from @query ; execute s1 ; deallocate prepare s1 ;</code>
이 코드는 열 테이블의 내용을 기반으로 쿼리 문자열을 동적으로 구성합니다. 그런 다음 prepare 문을 사용하여 쿼리 문자열을 컴파일하고, 이후에 실행 문을 사용하여 실행할 수 있습니다.
위 내용은 MySQL 쿼리 실행을 위해 열 이름을 동적으로 연결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!