Um einen Fall unempfindlich Einschränkung auferlegen, der beste Weg ist, um die Säule mit einem Fall insensitive Sortierung wie unicode_ci_ai
zu erstellen - diese Zusammenstellung ist Akzent auch unempfindlich, was Sie können oder nicht wollen - und fügen Sie eine eindeutige Einschränkung (oder einen eindeutigen Index) auf dieser Spalte:
create table addressbook
(
id integer not null,
emailaddress varchar(150) character set utf8 collate unicode_ci_ai,
constraint pk_addressbook primary key (id),
constraint uc_emailaddress unique (emailaddress)
);
oder das Feld zu einer vorhandenen Tabelle hinzuzufügen:
alter table addressbook
add emailaddress2 varchar(150) character set utf8
constraint uc_emailaddress2 unique collate unicode_ci_ai
Sortierungen Alternative würde unicode_ci
(nur Groß- und Kleinschreibung) oder andere built-in case insensitive collations in Abhängigkeit von dem Zeichensatz verwendet wird, oder zu create your own specific collation sein. Der Vorteil dieser Lösung gegenüber Gurwinder besteht darin, dass Sie auch Fall (und Akzent) insensitiv wählen können, ohne lower
in Ihrer where-Klausel verwenden zu müssen.
Ich benutze Firebird 2.1 –
Das hat funktioniert. Vielen Dank. –
@ Jonathan Prost Mate :) – GurV