![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не могу создать/добавить индекс в Firebird!!! [D5, IB6.x, Firebird]
Sergant © (2002-10-06 05:00:00)Есть таблица, состоящая всего из двух полей. Создаю ее так:
CREATE TABLE SPISOK (
NAZ VARCHAR (8) character set WIN1251 collate PXW_CYRL,
FIO VARCHAR (255) character set WIN1251 collate PXW_CYRL);
Cоздаю индекс по полю NAZ:
CREATE INDEX IDX_NAZ ON SPISOK (NAZ) - все нормально,
пытаюсь создать индекс по полю FIO:
create index idx_fio on spisok (fio)- пишет следующее:
"This operation is not defined for system tables.
unsuccessful metadata update.
key size too big for index IDX_FIO."
В чем моя ошибка?
Prooksius (2002-10-07 10:03:00) [1]Ну максимум 100 на ФИО, хотя тоже много.
Раздели фамилию, имя и отчество на отдельные поля. Так легче.
Johnmen (2002-10-07 09:35:00) [2]А вот интересно, что это за фамилии, имена и отчества, суммарная длина которых может достигать 255 ???
:-)))))))))))))))))))))))))))))))))))))))))))
Desdechado (2002-10-06 20:34:00) [3]длина индексируемого ключа - 255 байт, а у тебя поле 255 символов (в зависимости от COLLATE 2-3 байта на символ). Вот и суди.
Prooksius (2002-10-06 10:41:00) [4]Да потому что с collate индексы могут создаваться для полей не более 83 (на сколько я помню) символов.
читай www.ibase.ru