Speichern eines case-insensitiven varchar in PostgreSQL

8

Ich möchte meinem Benutzernamen varchar in der SQL-Tabelle eine Einschränkung hinzufügen, damit bei einem vorhandenen Benutzernamen kein doppelter Benutzername in einem anderen Fall erstellt werden kann. Wie kann ich das machen? Danke

Bearbeiten:
Ich benutze PostgreSQL, ein wenig Syntax-Hilfe wird sehr geschätzt.

    
informatik01 02.05.2009, 04:58
quelle

3 Antworten

22

Von den Dokumenten

%Vor%     
Patryk Kordylewski 02.05.2009 06:59
quelle
3

Wenn die Tabellen noch nicht gefüllt sind, können Sie vor dem Einfügen von Einfügungen einfach in einen Standard-Groß- oder Kleinbuchstaben konvertieren und das Feld zu einem Primärschlüssel machen (oder nur eine eindeutige Einschränkung haben). Wenn der Benutzer seine Benutzer-ID in dem von ihm angegebenen Fall sehen möchte, könnte dies eine andere Spalte in der Datenbank sein.

Update : Basierend auf den aktualisierten Tags würde ich immer noch vorschlagen, dass die von mir vorgeschlagene Lösung weniger abhängig von einem bestimmten DBMS ist.

    
ojblass 02.05.2009 05:04
quelle
3

Beachten Sie, dass PostgreSQL 8.4 (derzeit Beta) eine Groß- und Kleinschreibung aufweist .

>     
bortzmeyer 03.05.2009 18:39
quelle