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的功能,后期如果需求多,可以包装成函数直接调用,还是很方便。

 

posted @ 2020-05-24 20:07  5sdba  阅读(360)  评论(0编辑  收藏  举报