mysql temporary table表一个机智用法:

由于mysql8.0开启gtid复制环境以后,建表不能再ctas了,以前oracle数据库一直可以ctas,很方便,就想了下怎么实现mysql下这个功能,找到一种方法:

USE report;
SET sql_require_primary_key=0;
CREATE TEMPORARY TABLE temp_01 AS SELECT * FROM (
WITH T AS (....) SELECT * FROM T) ma WHERE 1=2;
CREATE TABLE TT LIKE temp_01;
DROP TEMPORARY TABLE temp_01;
SET sql_require_primary_key=1;
desc tt;

算是实现了ctas的功能,后期如果需求多,可以包装成函数直接调用,还是很方便。

原文地址:https://www.cnblogs.com/5sdba-notes/p/12960599.html