Hallo Mechtilde,
Tabelle course (erste Spalte PupilID,zweite sucjectID)
1 a
1 b
2 c
2 a
Wenn du eine zusätzliche Spalte als Schlüssel benutzt, hast du zum
Beispiel (erste Spalte ID)
1 1 a
2 1 b
3 2 c
4 2 a
Um unteren Fall könntest du den Datensatz
5 1 a
anlegen und hättest damit eine doppelte Kursbelegung, die Information
(Gerd,Mathe) wäre zweimal drin. Wenn du den Verbundschlüssel benutzt,
wird das verhindert.
Das sieht gut aus, gilt wohl leider nur für HSQL und nicht für MySQL.
Sowohl mit OOo als auch mit PhpMyAdmin lassen sich in MySQL _zwei_
Primärschlüssel angeben.
Das sollte mich wundern. Es ist 1 Primärschlüssel, der aus zwei Feldern
besteht. Kannst du sehen, welches SQL-Kommando benutzt wurde?
In der MySQl-Referenz habe ich bisher auch noch nichts dazu gefunden.
Ich verstehe dein Problem nicht so richtig. In HSQL sieht es so aus
CREATE CACHED TABLE "course"("who" INTEGER NOT NULL,"what" INTEGER NOT
NULL,"paid" BOOLEAN,"repeat" BOOLEAN,PRIMARY
KEY("who","what"),CONSTRAINT SYS_FK_64 FOREIGN KEY("what") REFERENCES
"subject"("ID") ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT SYS_FK_79
FOREIGN KEY("who") REFERENCES "pupil"("ID") ON DELETE CASCADE ON UPDATE
CASCADE)
Das müsste in MySQL doch ähnlich aussehen, entscheidend ist PRIMARY
KEY("who","what"), dass also die beiden Felder zusammen als Liste als
Parameter zu PRIMARY KEY angegeben werden. Nach MySQL 5.0 Syntax geht das.
mfG
Regina
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]