在几何列上创建索引时出错

时间:2012-01-09 08:17:34

标签: mysql indexing geospatial

我有一个包含空间列(数据类型几何)的表,大约有450k行。当我尝试在此列上添加空间索引时,它会返回错误“因为”SPATIAL索引的所有部分必须为NOT NULL“。

创建索引的查询是

create spatial index spatIdx on table_name(ogc_geom)

1。我做错了吗? 2.这些NULL部分来自哪里?
3.如果它在我的spat数据中如何删除它(我尝试使用null)。

2 个答案:

答案 0 :(得分:7)

MySQL documentation中,它指出,“目前,空间索引中的列必须声明为NOT NULL”。我的猜测是ogc_geom列允许NULL。尝试:

ALTER TABLE table_name MODIFY COLUMN ogc_geom .... NOT NULL

您创建空间索引的任何列都必须使用“NOT NULL”定义,否则您将收到错误。

答案 1 :(得分:-1)

如果使用“ALTER TABLE”语句来更新表结构并将索引添加到其中,那该怎么样呢。

尝试从此链接检查sysntax:http://dev.mysql.com/doc/refman/5.5/en/alter-table.html