![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Немогу создать уникальный индекс в IB [IB6.x]
Ura © (2002-04-30 10:45:00)Поле 50 символов и второе поле тоже 50 сивмолов, а индекс нужен по этим двум полям. Что делать? Кто виноват Я или ...?
Anatoly Podgoretsky (2002-04-30 20:43:00) [1]Ura (30.04.02 18:02)
В документации с ib server, не помню только в какой книге, указано 84
Mich (2002-04-30 20:33:00) [2]На http://www.ibase.ru/скачай прогу EMS QuickDesk 2.0 она бесплатная, это конструктор для создания и работы с IB
Ura (2002-04-30 18:02:00) [3]Скажите где про это написано. Т.е. про индексы их мах длины и влияние COLLATE на длину. ФАКТ - неработает...
Desdechado (2002-04-30 16:44:00) [4]COLLATE PXW_CYRL съедает 3 байта на символ
максимальная индексируемая строка ~256 байт (точно не помню)
т.о. (40+40)*3=240 - должно влезать
Johnmen (2002-04-30 16:04:00) [5]Тогда поэкспериментируй....
для начала убери COLLATE PXW_CYRL...
Ura (2002-04-30 15:57:00) [6]CREATE TABLE NEW_TABLE (
T1 VARCHAR(40) NOT NULL COLLATE PXW_CYRL,
T2 VARCHAR(40) NOT NULL COLLATE PXW_CYRL);
create unique index NEW_TABLE_IDX1
on NEW_TABLE (T1,T2)
This operation is not defined for system tables.
unsuccessful metadata update.
key size too big for index NEW_TABLE_IDX1.
Не помогло и not null...
Johnmen (2002-04-30 15:53:00) [7]Ну конечно же !!!!
При создании надо указать not null!
Ura (2002-04-30 15:44:00) [8]Переделал названия в верхиний регистр - индекс делаеться теперь так - но эффект тотже...
create unique index NEW_TABLE_IDX1
on NEW_TABLE (T1,T2)
Johnmen (2002-04-30 15:39:00) [9]Меня очень смущают вот эти вот кавычки " .....
Ura (2002-04-30 15:34:00) [10]create unique index NEW_TABLE_IDX1
on NEW_TABLE ("t1","t2")
Johnmen (2002-04-30 15:31:00) [11]Последний вопрос - а как пытаешься создать индекс ?
Ura (2002-04-30 15:22:00) [12]CREATE TABLE NEW_TABLE (
"t1" VARCHAR(40) COLLATE PXW_CYRL,
"t2" VARCHAR(40) COLLATE PXW_CYRL);
// Код IBExpert
Создаю индекс t1+t2 и облом :-(
Johnmen (2002-04-30 15:16:00) [13]Как создана таблица ? Приведи ...
Ura (2002-04-30 15:10:00) [14]Сделал 2 поля Vrachar - 40 символов WIN1251 collate PXW_CYRL - по ним тоже не создаеться
This operation is not defined for system tables.
unsuccessful metadata update.
key size too big for index RDB$PRIMARY12.
Т.е. с collate нельзя совсем сделать индекс?
Anatoly Podgoretsky (2002-04-30 13:19:00) [15]84 символа
kaif (2002-04-30 13:14:00) [16]Индексы, общей длиной более ~80 символов при использовании WIN1251 и соответствующего COLLATE не получаются. При ASCII кодировке получаются раза в 3.
Уменьши поля до 40 символов.
Ura (2002-04-30 11:22:00) [17]Понял - проблема у меня...
Johnmen (2002-04-30 11:20:00) [18]Вот у меня все создается ! ( юзаю ISQL из IBConsole)
Ura (2002-04-30 11:16:00) [19]collate - Незадано.
Alexandr (2002-04-30 11:10:00) [20]collate для этих полей задано?