2012-01-09 3 views
3

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

Запрос для создания индекса является

create spatial index spatIdx on table_name(ogc_geom) 

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

+0

it возвращает count как zero –

ответ

7

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

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

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

+0

its уже не null –

+0

Вы не можете найти результат "DESCRIBE table_name"? – cegfault

-1

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

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

Смежные вопросы