본문 바로가기
MySql

MySQL 임시 테이블에서 UNION ALL을 할 수 없습니까?

by 베이스 공부 2021. 2. 1.
반응형

다음과 같은 간단한 테스트를 실행하려고합니다. 임시 테이블을 만든 다음 두 가지 다른 선택을 UNIONing합니다.

CREATE TEMPORARY TABLE tmp 
SELECT * FROM people;

SELECT * FROM tmp
UNION ALL
SELECT * FROM tmp;

그러나 # 1137-테이블을 다시 열 수 없음 : 'tmp'

임시 테이블이 세션 동안 지속되어야한다고 생각했습니다. 여기서 문제는 무엇입니까?

 

해결 방법

 

이 오류는 Mysql 테이블이 임시 테이블을 관리하는 방식이 변경되어 조인, 공용체 및 하위 쿼리에 영향을 미침을 나타냅니다. mysql 오류가 테이블을 다시 열 수 없음을 수정하려면 다음 해결 방법을 시도해보세요.

mysql> CREATE TEMPORARY TABLE tmp_journals_2 LIKE tmp_journals;

Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO tmp_journals_2 SELECT * FROM tmp_journals;

이 후 유니온 작업을 수행 할 수 있습니다.



 

참조 페이지 https://stackoverflow.com/questions/12122010

 

 

반응형

댓글