Hallo nochmal,
Ich hoffe, Du verstehst jetzt wie man FOREIGN-KEY-Constraints erstellen kann, und welchen Nutzen Du daraus ziehen kannst.
nach ewigem rumprobieren dann doch nicht. Ich kann es nichtmal übersetzen
Alle deine CREATE-Statements bringen mir:
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8' at line 4"
Ich hab dann mal versucht aus BTREE schlau zu werden bzw zu verstehen was das überhaupt ist. Hat auch nicht viel gebracht :(
Du solltest außerdem nachvollziehen können, wie man Mehrspaltenindexe erstellt und wie sie arbeiten.
Kann ich leider nicht weil ich deine Beispiele nicht funktionieren, also konnte ich auch nicht damit "spielen" und "testen" :(
Du hast in deinem Code
-- der erste Fremdschlüssel schränkt die Spalte id_produkt ein
KEY FK_produkte (id_produkt),
CONSTRAINT FK_produkte FOREIGN KEY (id_produkt)
und
-- analog der zweite Fremdschlüssel, der die Beziehung zur Tabelle
-- maerkte herstellt. Gleiche Spaltennamen sind übrigens nicht erforderlich.
CONSTRAINT FK_maerkte FOREIGN KEY (id_markt)
Wieso ist beim zweiten Teil kein KEY FK_maerkte (id_markt) vor CONSTRAINT...
Ist das so richtig? Mh und ich versteh auch gar nicht wie ich es angehen müsste wenn ich etwas anderes ausser die ids ändern will. Die tauchen in den Beispielen verwirrend oft auf :(
Das mit den Märkten und Produkten scheint mir zu kompliziert.
Ich versuch grad eine einfacherer Hersteller-Produkt-Beziehung.
Da ist die Abhängigkeit nur in eine Richtung.
Also wenn ich eine Spalte bei den Herstellern ändere, soll sich auch eine Spalte bei den Produkten ändern. Z.B. "Verfügbarkeit". Ist ein Hersteller nicht verfügbar sollen es die zugehörigen Produkte auch nicht sein. Das krieg ich aber auch nicht hin :(
Grüße, Matze