LAST_INSERT_ID() wider zurücksetzen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • LAST_INSERT_ID() wider zurücksetzen?

    Moin,
    ich möchte LAST_INSERT_ID() wider zurück setzten geht das?

    Also ich hab erst ein "INSERT INTO..." dann ein "SELECT LAST_INSERT_ID()".
    Und dann möchte ich "LAST_INSERT_ID()" wider zurück setzt, so das ich beim erneuten aufruf von "SELECT LAST_INSERT_ID()" eine NULL oder so bekomme. Ist dies möglich? (ach is MySQL)

    Thx

  • #2
    du kannst last_insert_id nich zurücksetzen, aber wenn du die verbindung schließt und eine neue öffnest, hast du da ja kein insert gemacht und last_insert_id sollte dir geben was du willst
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Reconnect

      Ok Danke.
      Gibt es vieleicht so etwas wie einen SQL-Befehl like "reconnect". Ich glaub ansosten kann ich das vergessen. Ich führe 384 INSERT hintereinander durch und wenn ich zwischen jeden dieser INSERTS reconnect wird das sicher alles sehr langsam.

      Kommentar


      • #4
        was willst du denn machen, dass du immer die gleiche zahl für LAST_INSERT_ID brauchst?

        kannst du nicht einfach LAST_INSERT_ID einmal auslesen und dann in ner variablen speichern, die du einfach verwendest?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          @mrhappiness

          hmpf, ne meinte das anders:
          brauche LAST_INSERT_ID nur einmal jeweils nach jedem der 384 "INSERTS INTO..." also ich bekomme da schon immer einen anderen Wert zurück *schelecht ausdegrückt hab*. Aber mein Problem ist das wenn eins der INSERT nicht Funktioniert bekomme ich anstelle der neuen ID, die ID von dem INSERT davor. *Schwehr zu erklären*

          Beispiel:


          INSERT INTO TEST... ; // dieses insert ist erfolgreich
          SELECT LAST_INSERT_ID(); // nun bekomme ich die neue ID z.B. '1'
          INSERT INTO TEST... ; // dieses insert wird nun nicht erfolgreich sein
          SELECT LAST_INSERT_ID(); // nun bekomme ich aber doch eine ID und die ist auch '1'

          Kommentar


          • #6
            INSERT ... /läuft ok
            $id=LAST_INSERT_ID
            INSERT ... /nich ok
            if $id==LAST_INSERT_ID //gleiche ID => fehler beim insert
               entsprechende aktion
            else //IDs nicht gleich => INSERT war erfolgreich
               $id=LAST_INSERT_ID;
               entsprechende Aktionen
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              hehe *g* ja genau so hab ich das bis jetzt.
              Hat auch gut Funktioniert bis jetzt, da ich da jetzt noch INSERTS in eine andere Tabelle druchführen muß. Nun können also auch gleiche ID richtig sein.

              Naja egal wird es doch gebastel dachte da gibs n trick.

              Kommentar


              • #8
                Original geschrieben von Xtreaft
                Hat auch gut Funktioniert bis jetzt, da ich da jetzt noch INSERTS in eine andere Tabelle druchführen muß. Nun können also auch gleiche ID richtig sein.
                ja und? dann merkst du dir halt für jede tabelle separat die letzte eingefügte ID, und vergleichst dann auch mit dem neuen wert für die entsprechende tabelle...?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar

                Lädt...
                X