从mysql文档中得知:
几何列应该是NOT NULL,但是几何列不能有默认值
所以当我想要添加空间索引时,所有的空间索引部分都必须是非空的,如果勾选了NULL,则必须输入一个默认值,这会导致第一个错误。
我在使用mysql 5.7,innodb列,在这里是我为了重现问题所做的:
my origin table geotest3:
id MEDIUMINT
lat DECIMAL
lon DECIMAL
我已经添加了一个几何列:
alter table geotest3 add geom geometry;
下一步,我将使用经纬度数据填充该列:
UPDATE geotest3
SET geom = PointFromText(CONCAT('POINT(',geotest3.lon,' ',geotest3.lat,')'));
现在,由于上述问题的解释,我无法在geom列上添加空间索引。
我不知道是否是个bug还是我漏掉了什么东西。