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]

Antwort per Email an