큰 MySQL 데이터베이스에 읽기 권한 만 있으면 쿼리 할 때 느린 쿼리 결과를 'foo'변수로 설정하여 다른 쿼리에서 다시 사용할 수 있습니다. .MySQL 변수에 쿼리 결과 할당
기본적으로 성가신 하위 쿼리에 대한 변수가 필요하므로이를 사용할 때마다 실행 비용을 들이지 않고 재사용 할 수 있습니다. ERROR 1241 (21000) : 피연산자가 1 열 (들)을 포함해야하며, 내가 한 열을 제한 할 경우, ERROR 1242 (21000) :
set @foo := (select *
from table1 join table2
where bar = 0
group by id);
내가 얻을 :
내가 입력 할 때 하위 쿼리는 더 리턴 1 행보다변수에 배열이나 테이블을 저장할 수있는 방법이 있습니까? 임시 테이블을 만들 수있는 권한이 없습니다.
감사합니다,하지만 지금은 얻을 : ERROR 1241 (21000) : 피연산자 1 열 (들)을 포함해야합니다. 1 열로 제한하면 하위 쿼리가 1 행 이상을 반환합니다. – 5un5
예.'@ foo'는 하나의 값만 저장할 수 있기 때문에 가능합니다. 그래서 당신의'SELECT' 문에서 여러분은 그것이 단일 값을 리턴한다는 것을 확실히 알아야합니다. –
아아, 알 겠어. 감사. 변수를 쿼리 결과의 테이블 또는 임대 배열 가치를 저장할 수있는 방법이 있나요? – 5un5