Announcement

Collapse
No announcement yet.

Verbindung zweier Tabellen via FOREIGN KEY

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verbindung zweier Tabellen via FOREIGN KEY

    Hallo an alle und vielen Dank schon einmal für eure Bemühungen.

    Ich bin gerade dabei für meine Abschlussprüfung eine Tabellenstruktur umzusetzen.

    Hierfür muss ich Tabellen anlegen, was mir bis jetzt noch keine großen Probleme bereitet hat.

    Nun bin ich aber heute auf ein Problem gestoßen mit dem ich nicht fertig werden.

    Es geht um folgendes:

    Ich besitze 2 Tabellen:

    Tabelle 1 = Bank

    Darin sind unterschiedliche Felder wie BLZ (Primärschlüssel), Bank, Strasse, PLZ und Ort erstellt

    Hierfür mein Code:

    CREATE TABLE `Bank` (
    `BLZ` INT ( 8 ) NOT NULL PRIMARY KEY ,
    `Bank` VARCHAR( 100 ) NOT NULL ,
    `Strasse` VARCHAR( 100 ) NOT NULL ,
    `PLZ` INT( 5 ) NOT NULL ,
    `Ort` VARCHAR( 100 ) NOT NULL
    );

    Tabelle 2 = Kunde

    KdNr (Primärschlüssel), Name, Vorname, Strasse, PLZ, Ort, und BLZ (um dies geht es)

    Nun möchte ich eine Verbindung via FOREIGN KEY erstellen. Die Spalte BLZ aus Kunden soll mit der Spalte BLZ aus Bank verbunden werden.

    Hier der Code:

    CREATE TABLE `Kunde` (
    `KdNr` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `NName` VARCHAR( 100 ) NOT NULL ,
    `VName` VARCHAR( 100 ) NOT NULL ,
    `Strasse` VARCHAR( 100 ) NOT NULL ,
    `PLZ` INT( 5 ) NOT NULL ,
    `Ort` VARCHAR( 100 ) NOT NULL ,
    `EMail` VARCHAR( 100 ) NOT NULL ,
    `Telefon` VARCHAR( 20 ) NOT NULL ,
    `Mobil` VARCHAR( 20 ) NOT NULL ,
    `BLZ` INT ( 8 ) NOT NULL ,
    `KtoNr` VARCHAR( 20 ) NOT NULL,
    FOREIGN KEY (BLZ) REFERENCES Bank(BLZ)
    ON DELETE CASCADE
    );

    Der SQL Befehl weißt mein erstellen der Tabelle keinerlei Fehler auf.
    Nur habe ich ein Problem. Es kommt keine Verbindung zu stande. Ich habe in der Tabelle Bank eine Musterbank erstellt. Eigentlich sollten dann ja bei der Kundenanlage nur BLZ´s eingetragen werden können die in der Bank (BLZ) hinterlegt sind. Dies funktioniert leider nicht so wie gewünscht.

    Leider bin hier jetzt mit meinem latein am ende, ich habe schon etliche versuche unternommen den FOREIGN KEY einzubinden, leider ohne Erfolg

    Ich hoffe ihr habt eine Lösung für mich

    Viele Grüße und besten Dank

    Tobi

  • #2
    Hallo,

    offensichtlich verwendest du die MyISAM-Engine von MySQL. Diese "versteht" zwar die Syntax von Foreign Keys, ignoriert diese aber ansonsten vollständig.
    Wenn du "echte" FK-Constraints möchtest, mußt du die InnoDB-Engine verwenden.

    Und bitte beachten: Formatierung von SQL in Beiträgen

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X