文档解释
Error number: 3729; Symbol: ER_INDEX_TYPE_NOT_SUPPORTED_FOR_SPATIAL_INDEX; SQLSTATE: HY000
Message: The index type %s is not supported for spatial indexes.
Error 3729: ER_INDEX_TYPE_NOT_SUPPORTED_FOR_SPATIAL_INDEX, SQLSTATE: HY000
错误说明:
Error 3729: ER_INDEX_TYPE_NOT_SUPPORTED_FOR_SPATIAL_INDEX,SQLSTATE:HY000是MySQL Server的错误。这意味着尝试使用不支持的索引类型来创建一个空间索引(spatial index)。 MyISAM存储引擎支持BTREE和HASH索引类型,而InnoDB只支持BTREE索引类型。
常见案例
错误3729:ER_INDEX_TYPE_NOT_SUPPORTED_FOR_SPATIAL_INDEX,SQLSTATE:HY000通常发生在尝试创建MySQL数据库中的空间索引(spatial index)时。下面的SQL语句显示在MySQL中尝试使用不支持的索引类型HASH来创建一个空间索引:
CREATE INDEX my_spatial_index_tbl
ON my_tbl USING HASH
(location POINT);
解决方法:
如果收到错误3729:ER_INDEX_TYPE_NOT_SUPPORTED_FOR_SPATIAL_INDEX,SQLSTATE:HY000请尝试使用一个支持的索引类型,但只有MyISAM和InnoDB存储引擎支持空间索引。 MyISAM支持BTREE和HASH索引类型,而InnoDB只支持BTREE索引类型。例如:下面的SQL语句将使用支持的BTREE索引类型来创建一个空间索引:
CREATE INDEX my_spatial_index_tbl
ON my_tbl USING BTREE
(location POINT);