Announcement

Collapse
No announcement yet.

ID (Auto_increment) während Insert ermitteln

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

  • ID (Auto_increment) während Insert ermitteln

    Hallo,

    ich habe die Tabelle Beitrag mit einer beitrag_id (auto_increment, primärschlüssel) und noch einigen anderen Attributen und die Tabelle image mit image_id (auto_increment, primärschlüssel), beitrag_id(fremdschlüssel, referenz beitrag(beitrag_id))

    Der Nutzer gibt jetzt in einem Formular Titel, Beschreibung, usw an und wählt Bilder aus. Dann werden folgende Befehle ausgeführt:
    Code:
    INSERT INTO beitrag (titel, beschreibung) VALUES ($title, $beschreibung)
    dabei wird automatisch eine beitrag_id $beitrag_id erzeugt, die ich für den nächsten Befehl brauche:

    Code:
    INSERT INTO image (beitrag_id, url) VALUES ($beitrag_id, $url)
    Wie kann ich jetzt gewährleisten, dass die neuen Datensätze in beiden Tabellen die gleiche beitrag_id haben, bzw. wie komme ich an die beitrag_id die im ersten Befehl erzeugt wird?

  • #2
    Ruf direkt nach dem Insert "SELECT LAST_INSERT_ID();" auf um an die generierte ID zu kommen.

    Comment


    • #3
      okay ich kriege da jetzt immer 0 raus, wieso?

      Und funktioniert das zuverlässig, auch wenn mehrere Beiträge zum genau gleichen Zeitpunkt eingetragen werden?
      Zuletzt editiert von UnknownInncoent; 07.05.2019, 16:50.

      Comment


      • #4
        Die zuletzt eingetragene ID wird je Datenbankverbindung nach gehalten. Insofern ist das sicher in einer Multiuserumgebung. Das ist dann auch vermutlich der Grund warum du 0 bei deiner Abfrage bekommst. Du hast zwischen dem Insert und dem Select die Verbindung geschlossen.

        Comment

        Working...
        X