MySQL Error number: 3729; Symbol: ER_INDEX_TYPE_NOT_SUPPORTED_FOR_SPATIAL_INDEX; SQLSTATE: HY000

文档解释

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);

你可能感兴趣的