Хранение нечувствительного к регистру varchar в PostgreSQL - PullRequest
9 голосов
/ 02 мая 2009

Я хочу добавить некоторое ограничение к моему имени пользователя varchar в таблице SQL, чтобы при наличии имени пользователя дублированное имя пользователя в другом случае не могло быть создано. Как я могу это сделать? Спасибо

Edit:
Я использую PostgreSQL, небольшая помощь по синтаксису будет принята с благодарностью.

Ответы [ 3 ]

22 голосов
/ 02 мая 2009

Из документов

CREATE UNIQUE INDEX lower_title_idx ON films ((lower(title)));
3 голосов
/ 03 мая 2009

Обратите внимание, что PostgreSQL 8.4 (в настоящее время бета) будет иметь нечувствительный к регистру тип текста .

3 голосов
/ 02 мая 2009

Если таблицы еще не заполнены, вы можете просто перейти к стандартному верхнему или нижнему регистру, прежде чем выполнять какие-либо вставки и делать поле первичным ключом (или просто иметь уникальное ограничение). Если пользователь хочет видеть свой ИД пользователя в указанном им случае, это может быть другой столбец в базе данных.

Обновление : Исходя из обновленных тегов, я бы по-прежнему предлагал предложенное мной решение, поскольку оно менее зависимо от конкретной СУБД.

...