별도의 CREATE TABLE 없이 SELECT 문에 임시 테이블을 만듭니다.
create table 문을 사용하지 않고 각 열 유형을 지정하지 않고 select 문에서 임시(세션 전용) 테이블을 만들 수 있습니까?파생 테이블이 가능한 것은 알고 있습니다만, 초임시(스테이트먼트 전용)이기 때문에 재사용하고 싶습니다.
create table 명령어를 작성하지 않아도 컬럼리스트와 타입리스트를 일치시킬 필요가 없다면 시간을 절약할 수 있습니다.
CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (SELECT * FROM table1)
http://dev.mysql.com/doc/refman/5.7/en/create-table.html에 있는 매뉴얼에서 확인.
TEMPORY 키워드는 테이블을 작성할 때 사용할 수 있습니다.임시 테이블은 현재 세션에만 표시되며 세션이 닫히면 자동으로 삭제됩니다.즉, 2개의 다른 세션이 서로 경합하지 않고 같은 이름의 기존 비 TEMPORY 테이블과 같은 임시 테이블 이름을 사용할 수 있습니다.(기존 테이블은 임시 테이블이 폐기될 때까지 숨겨집니다).임시 테이블을 작성하려면 CREATE TEMPOLY TABles 권한이 있어야 합니다.
임시 테이블에 인덱스를 추가해야 하는 경우 psparrow의 답변 외에 다음을 수행합니다.
CREATE TEMPORARY TABLE IF NOT EXISTS
temp_table ( INDEX(col_2) )
ENGINE=MyISAM
AS (
SELECT col_1, coll_2, coll_3
FROM mytable
)
또, 와도 사용할 수 있습니다.PRIMARY KEY
다음 구문을 사용합니다.
CREATE TEMPORARY TABLE t1 (select * from t2);
엔진은 선택 전이어야 합니다.
CREATE TEMPORARY TABLE temp1 ENGINE=MEMORY
as (select * from table1)
ENGINE=MEMORY
테이블이 다음을 포함하는 경우 지원되지 않습니다.BLOB
/TEXT
열
phpMyAdmin과 같은 것으로 사용하는 경우 SELECT 문은 임시 테이블에서 작동하지만, 그 SELECT를 실행하면 임시 테이블이 사라집니다.즉, 데이터를 변경하는 'action' 스테이트먼트(DELETE, UPDATE)가 완료될 때까지 결과를 표시하지 않습니다.
언급URL : https://stackoverflow.com/questions/5859391/create-a-temporary-table-in-a-select-statement-without-a-separate-create-table
'programing' 카테고리의 다른 글
Python 3.3+ 패키지에는 __init_.py가 필요하지 않습니까? (0) | 2022.10.18 |
---|---|
GeoLocation 유형의 폐쇄 인스턴스를 사용하여 할당을 한정해야 합니다. (0) | 2022.10.18 |
vue 프로젝트에서 이미지를 사전 로드하는 방법 (0) | 2022.10.18 |
IDE의 매직(_call 및 _callStatic) 메서드를 문서화하는 방법 (0) | 2022.10.18 |
PHP cURL이 작동하지 않음 - Windows 7 64비트에서의 WAMP (0) | 2022.10.18 |