create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; create procedure insert_t1(IN total int) begin declare i int default 1; while (i <= total) DO insert into t1 values (i, Point(i, i)), (i + 1, Point(i + 1, i + 1)), (i + 2, Point(i + 2, i + 2)), (i + 3, Point(i + 3, i + 3)), (i + 4, Point(i + 4, i + 4)), (i + 5, Point(i + 5, i + 5)), (i + 6, Point(i + 6, i + 6)), (i + 7, Point(i + 7, i + 7)), (i + 8, Point(i + 8, i + 8)), (i + 9, Point(i + 9, i + 9)); set i = i + 10; end while; end| CALL insert_t1(5000); select count(*) from t1; count(*) 5000 check table t1; Table Op Msg_type Msg_text test.t1 check status OK truncate table t1; CALL insert_t1(10000); select count(*) from t1; count(*) 10000 drop index c2 on t1; create spatial index idx on t1(c2); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) DEFAULT NULL, `c2` geometry NOT NULL, SPATIAL KEY `idx` (`c2`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci SET @save_dbug = @@SESSION.debug_dbug; SET debug_dbug='+d,row_merge_ins_spatial_fail'; create spatial index idx2 on t1(c2); ERROR HY000: Got error 1000 "Unknown error 1000" from storage engine InnoDB SET @@SESSION.debug_dbug = @save_dbug; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) DEFAULT NULL, `c2` geometry NOT NULL, SPATIAL KEY `idx` (`c2`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci check table t1; Table Op Msg_type Msg_text test.t1 check status OK truncate table t1; CALL insert_t1(100000); select count(*) from t1; count(*) 100000 check table t1; Table Op Msg_type Msg_text test.t1 check status OK truncate table t1; drop procedure insert_t1; drop table t1;