robert: mysql verknüpfte tabellen

hallo,
ich habe 2 verknüpfte tabellen. Bei Tabelle 1 Bundesland werden id und das Bundesland gespeichert.
In der 2 Tabelle werden daten verschiedener Sportclubs und auch die id_bundesland gespeichert was die id aus der tabelle 1 bundesland ist.
Wenn ich nun einen Datensatz eingebe, speichere ich zuerst das Bundesland in tabelle 1 Bundesland.
Wie bekomme ich nun die id von tabelle 1 Bundesland um diese in der 2 tabelle Sportclubs als id_bundesland zu speichern?
Gibt es einen Befehl mit der man den zuletzt eingetragenen datensatz auslesen kann?
vielen dank im voraus
robert

  1. Versuchs mal so

    SELECT * FROM Tabelle1, Tabelle2  WHERE Tabelle1.id='$id' AND Tabelle2.id='$id';

    Damit sollte die id aus Bundesland und der andere Tabelle verglichen werden und alle sich darin befindlichen datensaetze angezeigt werden.

    Gruss Thomas

    1. Hallo,

      Damit sollte die id aus Bundesland und der andere Tabelle verglichen werden und alle sich darin befindlichen datensaetze angezeigt werden.

      du bist da schon nen schritt zuweit um in der 2 tabelle (sportclubs)die id_bundesland zu speichern brauche ich ja die id aus der 1 (tabelle bundesland).
      gruß robert

  2. echo $begrüßung;

    Wie bekomme ich nun die id von tabelle 1 Bundesland um diese in der 2 tabelle Sportclubs als id_bundesland zu speichern?

    Wenn es sich bei dem ID-Feld um eines mit dem Attribut auto_increment handelt, liefert dir ein
      SELECT LAST_INSERT_ID();
    die zuletzt eingefügte ID. Eine entsprechende Funktion, dies ohne eine SQL-Abfrage herauszufinden, stellt die MySQL-API zur Verfügung. Wie diese Funktion unter der von dir verwendeten Programmierumgebung heißt und zu verwenden ist steht sicher in dessen Dokumentation.

    Gibt es einen Befehl mit der man den zuletzt eingetragenen datensatz auslesen kann?

    Generell gesagt, nein.

    echo "$verabschiedung $name";

  3. Hallo Robert,

    ich habe 2 verknüpfte tabellen. Bei Tabelle 1 Bundesland werden id und das Bundesland gespeichert.

    wenn Du mit Bundesländern die deutschen Bundesländern meinst, so würde ich Dir dazu raten, diese Tabelle gleich mit den derzeit vorhandenen Bundesländern zu füllen. Änderungen an dieser Tabelle gibt es ja nicht so oft :-)

    In der 2 Tabelle werden daten verschiedener Sportclubs und auch die id_bundesland gespeichert was die id aus der tabelle 1 bundesland ist.
    Wenn ich nun einen Datensatz eingebe, speichere ich zuerst das Bundesland in tabelle 1 Bundesland.

    Nö, Du brauchst ein Bundesland ja nur einmal abzuspeichern, nicht öfter! Dies hast Du in Schritt 1 bereits erledigt. In Deinem Frontend könntest Du z.B. das Bundesland aus einer SELECT-Liste auswählen, die Dir genau die richtige ID des Bundeslandes liefert. Am einfachsten, indem Du Dir die SELECT-Liste bereits über Abfragen der DB generierst.

    Wie bekomme ich nun die id von tabelle 1 Bundesland um diese in der 2 tabelle Sportclubs als id_bundesland zu speichern?

    Siehe Absatz oben.

    Gibt es einen Befehl mit der man den zuletzt eingetragenen datensatz auslesen kann?

    Nein, aber den benötigst Du auch nicht. Etwas ineffizienter könntest Du eine Abfrage absetzen, die Dir die Bundesland-ID des aktuellen Datensatzes zurückliefert. Bei meinem Vorschlag hättest Du die nicht notwendig.

    Freundliche Grüße

    Vinzenz

    PS: Mein Vorschlag funktioniert prinzipiell auch mit Bundesländern anderer Staaten, ja sogar mit Bundesländern verschiedener Staaten (solange man die irgendwie unterscheiden kann).