zwei felder zusammen unique
jim
- datenbank
0 remnon
hallo
ich habe eine datenbank, welche projekte verwaltet.
Zur eindeutigen Identifizierung werden folgende drei Felder verwendet:
-Semester
-Jahr
-Benutzer
jeder Benutzer kann pro Semester nur ein Projekt eintragen!
Wenn nun ein Benutzer ein neues Projekt eintragen möchte,
soll möglichst einfach geprüft werden, ob er nicht schon
ein SemesterProjekt eingetragen hat.
Mir ist klar, dass ich das ganze zB so lösen könnte
$check=mysql_query("SELECT * FROM project WHERE semsester='$semster' AND jahr='$jahr' AND benutzer='$benutzer');
if(mysql_num_rows($check)!=0)
...
eleganter wäre es aber, die datenbank so zu definieren, dass diese 3 felder zusammen unique sind! wie macht man das?
vielen dank
Einfach so:
CREATE tabX
{
... ,
UNIQUE sem_unique(semester, jahr, benutzer),
};
Also UNIQUE [Name des Unique-Keys] ([Tabellenfeldnamen])!!