我有一个包含空间列(数据类型几何)的表,大约有450k行。当我尝试在此列上添加空间索引时,它会返回错误“因为”SPATIAL索引的所有部分必须为NOT NULL“。
创建索引的查询是
create spatial index spatIdx on table_name(ogc_geom)
1。我做错了吗?
2.这些NULL部分来自哪里?
3.如果它在我的spat数据中如何删除它(我尝试使用null)。
答案 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