![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
проверка на уникальность [D7, FB 1.5]
Bolek © (2007-04-23 11:51:00)Доброго времени суток всем
подскажите, пожалуйста, чего не в порядке
есть таблица
CREATE TABLE NEW_TABLE (
ID INTEGER NOT NULL,
FIELD1 VARCHAR(50) NOT NULL,
FIELD2 VARCHAR(255) NOT NULL
);
при попытке создать проверку на уникальность по строковым полям
alter table NEW_TABLE
add constraint UNQ1_NEW_TABLE
unique (FIELD1,FIELD2)
получаю сообщение:
"This operation is not defined for system tables.
unsuccessful metadata update.
key size too big for index UNQ1_NEW_TABLE."
чего не так делаю?
P.S.пользуюсь IBExpert'ом
Bolek (2007-04-23 12:33:00) [1][7] попробую
Desdechado (2007-04-23 12:24:00) [2]В FB2 снято ограничеие на длину индекса.
sniknik (2007-04-23 12:09:00) [3]> создание новых доменов не прокатит? или они только применимы к полям?
люди!!!! вы что ВООБЩЕ ничего по базам не читаете? сразу с нуля и в форум... ужас.
sniknik (2007-04-23 12:06:00) [4]> как можно данную проблему решить?
> переход на другу СУБД не предлагайте :)
в пол литровую бутылку не влазит 2 литра воды, как можно данную проблему решить?
только не предлагайте взять двухлитровую банку. ;)
p.s. стой индекс по тому что влазит... можеш дополнительно хеш строк считать, и по нему строить.
Bolek (2007-04-23 12:05:00) [5]как вариант...
создание новых доменов не прокатит? или они только применимы к полям?
Сергей М. (2007-04-23 12:02:00) [6]
> Bolek © (23.04.07 11:59) [2]
Добавь еще одно поле, к примеру, BIGINT-типа, организуй его уникальность.
В триггере на вставку/обновление расчитай хэш или контр.сумму данных, хранящихся в полях FIELD1 и FIELD2, и запиши результат в это поле.
Bolek (2007-04-23 11:59:00) [7]как можно данную проблему решить?
переход на другу СУБД не предлагайте :)
Johnmen (2007-04-23 11:56:00) [8]Размер полей слишком велик для построения индекса.