Michael Schröpl: (SQL)(PHP) Prüfung auf Existenz von Datensätzen

Beitrag lesen

CREATE UNIQUE INDEX adresse ON kunden (PLZ, STRASSE(5) )
baut den Index auf bestehend aus PLZ + die ersten 5 Zeichen von STRASSE ?

Zunächst mal: Ein PRIMARY KEY im Sinne von SQL ist *das* nicht. (Nur ein eindeutiger Index - davon kann eine Tabelle mehrere haben, PRIMARY KEY nur einen.)

Andererseits würde mich wundern, wenn es möglich wäre, einen Index (bzw. eine Komponente davon) auf einen Teil einer Tabellenspalte zu legen. Denn so, wie ein Indexbaum intern strukturiert ist, macht das wenig Sinn.
Wenn Du wirklich *nur* genau die ersten fünf Zeichen als indexrelevant ansiehst, solltest Du eine separate (inhaltlich redundante) Spalte mit diesem Wert (ggf. concateniert mit anderen Schlüsselkomponenten) anlegen und darüber den PRIMARY KEY der Tabelle legen.