Regina Henschel schrieb:
Hallo Mechtilde,

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)
Ich habe versucht,
1. diese SQL-Anweisung unter "Extras -> SQL..." einzugeben in die Datenbank "school_with"und auszuführen.
-> das funktioniert.
2. diese SQL-Anweisung so abzuwandeln, dass sie in meiner MySQL-Datenbank funktionieren könnte und das sowohl mit doppelten als auch mit einfachen Anführungszeichen, wie hier zu sehen:

CREATE CACHED TABLE 'AktenAdressen'('AktenNr' INTEGER NOT NULL,'AdressenNr' INTEGER NOT NULL,'PersonengruppenNr' INTEGER NOT NULL,'Reihenfolge' INTEGER,PRIMARY KEY('AktenNr','AdressenNr'),CONSTRAINT SYS_FK_64 FOREIGN KEY('AdressenNr') REFERENCES 'Adressen'('ID') ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT SYS_FK_79 FOREIGN KEY('AktenNr') REFERENCES 'Akten'('ID') ON DELETE CASCADE ON UPDATE CASCADE)

-> das funktioniert nicht es kommt folgende Fehlermeldung:

MySQL][ODBC 3.51 Driver][mysqld-4.1.11-Debian_4sarge2-log]Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen (diese kann für verschiedene Server-Versionen unterschiedlich sein) bei 'CACHED TABLE 'AktenAdressen'('AktenNr' INTEGER NO

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.

Hast Du zufällig die Fundstelle dazu in der 5.0.er-Referenz.

Mechtilde


--
Dipl. Ing. Mechtilde Stehmann
## Observer OpenOffice.org: lang/DE
## Freie Office-Suite für Linux, Mac, Windows, Solaris
## http://de.openoffice.org
## Meine Seite http://www.mechtilde.de

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to