MySQL Eindeutigkeit

Status
Nicht offen für weitere Antworten.

Dagobert

Bekanntes Mitglied
Guten Abend,

Ich habe gerade folgende Frage:

Ich habe eine Tabelle in meiner SQL Datenbank die als Primary Key ein ID Feld verwendet. Nun sind aber noch Felder wie Benutzername und Email-Adresse die auch eindeutig sein sollen. Wie bekomme ich das hin? Wenn ich einen zusammen gesetzten Primary Key habe hab ich dies ja nicht sicher gestellt. Ich kann dann doch z.B. die beiden Einträge haben?:

ID/Name/Email
1/Test/test
2/Test/test

Aber ich möchte das sich der Name auch nicht zwei mal verwenden lässt. Wie stelle ich dies in MySQL / SQL ein?

mfg. Dagobert
 
Möchtest du die Eindeutigkeit in nur einer Spalte haben, kannst du beim CREATE TABLE die Option UNIQUE für die entsprechende Spalte setzen.

Möchtest du die Kombination aus Vor- und Nachname eindeutig machen, kannst du entweder den Primarykey auf beide Spalten setzen (also ohne ID, was du aber denke ich mal nicht willst) oder du erstellst einen Index über beide Spalten und setzt den auf UNIQUE

Infos dazu gibt es in der MySQL-Doku:

MySQL :: MySQL 5.1 Reference Manual :: 12.1.17 CREATE TABLE Syntax

MySQL :: MySQL 5.1 Reference Manual :: 12.1.13 CREATE INDEX Syntax
 
Noch eine kleine Frage

Wirft unique eine Exception falls schon ein eintrag exestiert?
Und wenn ja welche muss ich abfangen?

mfg. Dagobert
 
hm... keine genauer definierte exception? oO
das ist ja doof naja aber dann wohl nich zu ändern
vielen Dank

mfg. Dagobert
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben