创建像现有表一样的 temptable,然后更改其引擎。请记住,MEMORY 引擎不支持某些列数据类型 (TEXT/BLOB/JSON)。
CREATE TABLE test1 (id SERIAL PRIMARY KEY, val VARCHAR(255));
CREATE TEMPORARY TABLE test2 LIKE test1;
SHOW CREATE TABLE test2;
| Table |
Create Table |
| test2 |
CREATE TEMPORARY TABLE `test2` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `val` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
ALTER TABLE test2 Engine = MEMORY;
SHOW CREATE TABLE test2;
| Table |
Create Table |
| test2 |
CREATE TEMPORARY TABLE `test2` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `val` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) ENGINE=MEMORY DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
fiddle