Jak zostałem zapytany w komentarzach, jak bym to rozwiązał, napiszę to jako odpowiedź.
Znajdowanie się w takiej sytuacji sugeruje błędy w projekcie aplikacji. Zastanów się, co to oznacza.
Masz tekst, którego długości nie możesz określić z góry, a który może być bardzo długi (do 64k), którego unikatowość chcesz zachować. Wyobraź sobie, że taka ilość danych jest podzielona na oddzielne klucze i tworzy złożony indeks, aby wygenerować unikatowość. To właśnie próbujesz zrobić. W przypadku liczb całkowitych byłby to indeks złożony z 16000 liczb całkowitych połączonych w indeks złożony.
Zastanów się dalej, że pola typu CHARACTER (CHAR, VARCHAR, TEXT) podlegają interpretacji przez kodowanie, co dodatkowo komplikuje problem.
Gorąco polecam jakoś podzielić dane. To nie tylko uwalnia DBMS od włączania bloków znaków o zmiennej długości, ale także może dać pewną możliwość generowania kluczy złożonych na częściach danych. Może nawet znajdziesz lepsze rozwiązanie do przechowywania danych.
Jeśli masz pytania, sugeruję opublikowanie tabeli i/lub struktury bazy danych oraz wyjaśnienie, jakie dane logiczne zawiera pole TEKST i dlaczego uważasz, że powinno być unikalne.