Ошибка при создании индекса на столбце геометрии - PullRequest
3 голосов
/ 09 января 2012

У меня есть таблица с пространственным столбцом (геометрия типа данных) и около 450 тыс. Строк.Когда я пытался добавить пространственный индекс для этого столбца, он возвращает ошибку, так как «Все части пространственного индекса должны быть NOT NULL».

Запрос на создание индекса:

create spatial index spatIdx on table_name(ogc_geom)

1.Я делаю что-то не так?
2. Откуда взялись эти NULL-части?
3. Если в моих данных spat как я могу удалить их (я пробовал с null).

Ответы [ 2 ]

7 голосов
/ 09 января 2012

В документации MySQL говорится: «В настоящее время столбцы в пространственных индексах должны быть объявлены NOT NULL». Я предполагаю, что столбцу ogc_geom разрешено иметь NULL. Попробуйте:

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

Любой столбец, для которого вы создаете пространственный индекс, должен быть определен как "NOT NULL", иначе вы получите ошибку.

0 голосов
/ 09 января 2012

как насчет того, чтобы вместо этого использовать инструкцию "ALTER TABLE", чтобы обновить структуру таблицы и добавить в нее индекс.

попробуйте проверить sysntax по этой ссылке: http://dev.mysql.com/doc/refman/5.5/en/alter-table.html

...