MySQL在使用AS时指定临时表引擎

MySQL在使用AS时指定临时表引擎,mysql,temp-tables,Mysql,Temp Tables,使用CREATE TEMPORATE TABLE xxx作为SELECT…(选择)时,是否可以指定引擎? 我试过了,但失败了: CREATE TEMPORARY TABLE test AS ( SELECT myCol FROM myTable ) ENGINE = MEMORY; 我搜索了一个这样的示例,但没有结果,使用AS.: 这可以通过简单的语法创建表t作为SELECT…-您需要在完整语句中指定表列,示例: CREATE TEMPORARY TABLE test (myCol varch

使用CREATE TEMPORATE TABLE xxx作为SELECT…(选择)时,是否可以指定引擎? 我试过了,但失败了:

CREATE TEMPORARY TABLE test AS (
SELECT myCol
FROM myTable
) ENGINE = MEMORY;

我搜索了一个这样的示例,但没有结果,使用AS.:

这可以通过简单的语法创建表t作为SELECT…-您需要在完整语句中指定表列,示例:

CREATE TEMPORARY TABLE test (myCol varchar(100)) 
ENGINE=MEMORY 
AS 
SELECT myCol FROM myTable;

你好谷歌搜索手册怎么没有回答这个问题?根据下面的Addy和Paul的评论,问题是如果使用内存引擎,必须指定cols,而不是其他。这可以通过简单的语法实现…-我想你的意思是,用简单的语法是不可能的。。。。另请注意:内存表使用固定长度的行存储格式。可变长度类型(如VARCHAR)使用固定长度存储。这意味着使用utf8的varchar100是一个固定的300字节列。谢谢Addy和Paul。我认为AS的问题在于,它要求在使用内存引擎时指定列。