从select查询创建表的MySQL语法

时间:2014-10-12 01:05:09

标签: mysql sql

我正在尝试使用

创建表的永久子集
create table copydata (select a.* from tabla a
         left join table b 
         on st_distance(a.point, b.point) <= 10
         and b.x is null) 

这可以工作但是将表“copydata”构建为InnoDB表。我需要这是一个ISAM表,所以我可以建立空间索引。我试过了

create table copydata (select a.* from tablea a
         left join tableb b 
         on st_distance(a.point, b.point) <= 10
         and b.x is null) ENGINE=MyISAM DEFAULT CHARSET=utf8 

但是抱怨语法错误。

我错过了什么?

此致

1 个答案:

答案 0 :(得分:2)

只需更改语句的顺序:

create table copydata ENGINE=MyISAM DEFAULT CHARSET=utf8 (select a.* from tablea a
         left join tableb b 
         on st_distance(a.point, b.point) <= 10
         and b.x is null)