MySQL临时表创建

时间:2022-05-11 04:04:20

和SQL SERVER 创建临时表不同 不能直接写 Create table #Test_Table

而是需要在 Create 和 table 之间 加入 TEMPORARY(temporary<临时>) 关键字

CREATE TEMPORARY TABLE TEST_TABLE (

NAME VARCHAR(10) NOT NULL,

AGE INTEGER NOT NULL

)

一个临时表不能在同一条语句中执行两次 例如:

去重复

DELETE FROM TEMP_TESTTABLE WHERE ID NOT IN (SELECT MAX(ID) FROM TEMP_TESTTABLE GROUP BY JOBNO);

上面这句话就会报错:提示不能重复打开表XXX

 

如果需要去重复的话 可以建一个辅助表 来去除重复

 

完整的创建和删除可以 这样写:

-- 如果临时表存在就删除临时表

DROP TEMPORARY TABLE IF EXISTS TEMP_REPORT_STANO_QUERY;

-- 创建临时表

CREATE TEMPORARY TABLE TEMP_REPORT_STANO_QUERY
(`SCAN_STAT_ID` INT DEFAULT 0,
`AF_COU` INT DEFAULT 0,
);

-- 删除临时表

DROP TEMPORARY TABLE  TEMP_REPORT_STANO_QUERY;