Sven Rautenberg: LAST_INSERT_ID() bzw. mysql_insert_id() wie richtig verwenden?

Beitrag lesen

Moin!

Das ist zwar alles richtig - ich würde aber generell von der Verwendung von LAST_INSERT_ID() abraten. Wenn parallel mehrere Verbindungen zur Datenbank bestehen und von unterschiedlichen Benutzern gleichzeitig Datensätze angelegt werden, dann kann es schon mal vorkommen (zumindest hatten wir mal das Problem), dass sich die einzelnen INSERT-Statements und die jeweiligen LAST_INSERT_ID()-Abfragen ins Gehege kamen ... und dann bekam eine Datenbankverbindung nicht die ID, die sie selbst in die Tabelle eingefügt hatte, sondern die ID eines Datensatzes, der zwischenzeitlich (d.h. einige Millisekungen später) von einer anderen Datenbankverbindung angelegt wurde. Unschön, sowas.

Wenn das so wäre. wäre es ein heftiger Bug in der DB. MySQL garantiert, dass ein Query auf der gleichen DB-Verbindung immer nur die letzte eingefügte ID dieser Verbindung zurückliefert, unabhängig von beliebigen parallelen Connections. Und mir sind noch keine gegenteiligen Berichte zu Ohren gekommen, dass das nicht funktioniert.

Ich vermute eher einen Bug in der DB-Applikation, die dir das beschert hat.

- Sven Rautenberg

--
"Love your nation - respect the others."
0 46

DB Normalisieren und eine ID in 3 Tabellen speichern

Engin
  • datenbank
  1. 0
    Ilja
    1. 0

      DB Normalisieren Ok. 3 INSERT INTO ausführen Problem

      Engin
      1. 0
        Struppi
        1. 0
          Engin
          1. 0
            ChrisB
            1. 0

              3 INSERT INTO ausführen Problem auch OK.

              Engin
              1. 0
                ChrisB
                1. 0

                  LAST_INSERT_ID() bzw. mysql_insert_id() wie richtig verwenden?

                  Engin
                  1. 0
                    ChrisB
                    1. 0
                      Engin
                    2. 0
                      EKKi
                      1. 0
                        Sven Rautenberg
                        1. 0
                          EKKi
                          1. 0
                            Sven Rautenberg
                            1. 0
                              EKKi
                  2. 0
                    Struppi
                    1. 0
                      Engin
                      1. 0
                        ChrisB
                        1. 0
                          Engin
                          1. 0
                            ChrisB
                            1. 0

                              Danke!

                              Engin
                      2. 0
                        Struppi
  2. 0

    Noch eine frage zur DB normailiserung

    Engin
    1. 0
      ChrisB
      1. 0
        Engin
        1. 0
          EKKi
          1. 0
            Engin
            1. 0
              EKKi
              1. 0
                Engin
                1. 0
                  EKKi
                  1. 0
                    Engin
                    1. 0
                      EKKi
                      1. 0
                        Engin
                        1. 0
                          EKKi
                          1. 0
                            Engin
                  2. 0
                    ChrisB
                    1. 0

                      Danke! DB normailiserung schreitet voran

                      Engin
  3. 0

    PHP $_GET und sonderzeichen <>\

    Engin
    • php
    1. 0
      dedlfix
      1. 0
        Engin
        1. 0
          dedlfix
          1. 0
            Engin
            1. 0
              EKKi
              1. 0

                PHP $_GET auch gelöst

                Engin
    2. 0
      EKKi