如何在mysql中创建没有索引或键的临时表?
创建临时文件:如何在mysql中创建没有索引或键的临时表?,mysql,mysql-8.0,Mysql,Mysql 8.0,创建临时文件: CREATE TABLE person ( firstname varchar(20), lastname varchar(20), UNIQUE KEY unique_lstanme (lastname) ); 结果:显示唯一键。为什么?我一直认为临时表是在没有索引的情况下创建的 我可以防止这种情况发生,还是必须在临时表上删除显式索引?是否有sql命令可以删除临时表上的任何现有索引而不必命名它们?在mysql中,临时表可以有索引,而创建临时表。。。就像
CREATE TABLE person (
firstname varchar(20),
lastname varchar(20),
UNIQUE KEY unique_lstanme (lastname)
);
结果:显示唯一键。为什么?我一直认为临时表是在没有索引的情况下创建的
我可以防止这种情况发生,还是必须在临时表上删除显式索引?是否有sql命令可以删除临时表上的任何现有索引而不必命名它们?在mysql中,临时表可以有索引,而创建临时表。。。就像…
保留索引一样,您对此无能为力
将语句与limit 0
子句一起使用,因为
创建表格。。。SELECT不会自动为您创建任何索引。这样做是为了使声明尽可能灵活。如果希望在创建的表中具有索引,则应在SELECT语句之前指定这些索引
因此,您的声明将类似于:
CREATE TEMPORARY TABLE person_tmp LIKE person;
SHOW INDEX FROM person_tmp;
CREATE TEMPORARY TABLE person_tmp
AS SELECT * FROM person LIMIT 0;