У меня есть таблица с 2 столбцами в качестве первичного ключа, как показано ниже.
create table table1(key1 int NOT NULL,key2 int NOT NULL,content NVARCHAR(MAX), primary key(key1,key2))
Я создал индекс для таблицы с этим запросом
CREATE unique INDEX index1 ON table1 (key1,key2);
и с помощью этого запроса я создаю полнотекстовый поиск
create fulltext index on table1 (content ) key index index1;
но я получаю эту ошибку, потому что индекс должен быть один столбец
'index1' не является допустимым индексом для принудительного применения ключа полнотекстового поиска. Ключ полнотекстового поиска должен быть уникальным, не обнуляемым, одноколонным индексом, который не является автономным, не определен для недетерминированного или неточного неперспективного вычисляемого столбца, не имеет фильтра и имеет максимальный размер 900 байт. Выберите другой индекс для полнотекстового ключа.
и при индексировании по одному столбцу, когда я вставляю новую строку, я получаю повторяющуюся ошибку.
что мне делать?
Я использую SQL Server и EF orm
Обновление
Я решаю эту проблему, создав вычисляемый столбец, который возвращает уникальные данные
ALTER TABLE Table1 ADD indexKey AS cast(key1 as float) + cast((cast(key2 as float)/power(10,len(key2))) as float) PERSISTED not null
и я создаю свой индекс для этого столбца, и он работает довольно хорошо.