Ankündigung

Einklappen
Keine Ankündigung bisher.

id wird hochgezählt, obwohl der eintrag wegen duplicate entry nicht ausgeführt wird

Einklappen

Neue Werbung 2019

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

  • id wird hochgezählt, obwohl der eintrag wegen duplicate entry nicht ausgeführt wird

    PHP-Code:
    $mydb->makeQuery("INSERT INTO user
                       (username, password, email, fullname, birthday, sex, member_since)
                       VALUES
                       ('ralf', 'ralfsPassword', 'ralf@intranet.de', 'ralf schmitt', '1992-03-19', 'm', "
    .time().")"); 
    schicke ich diese daten 2 mal ab, so gibt er mir eine fehlermeldung wegen 'duplicate entry', da username und email auf unique gestellt wurden. aber die id zählt er trotzdem hoch.

    warum?


  • #2
    Hi.

    Dein ID Feld wird ja vermutlich autoincrement sein, oder? Dann zählt er das natürlich hoch.

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      aber warum macht er die inkrementierung nicht rückgängig, wenn der schreibprozess nicht erfolgreich war?
      also
      1. schritt: id hochzählen -> 2. schritt: aha fehler, username bereits vergeben. abbruch! -> 3. schritt: id um -1 zurücksetzen

      Kommentar


      • #4
        Analoges Problem: http://www.php.de/datenbanken/67465-...increment.html

        Kommentar


        • #5
          Zitat von nuna Beitrag anzeigen
          aber warum macht er die inkrementierung nicht rückgängig, wenn der schreibprozess nicht erfolgreich war?
          also
          1. schritt: id hochzählen -> 2. schritt: aha fehler, username bereits vergeben. abbruch! -> 3. schritt: id um -1 zurücksetzen
          Das leigt an der Struktur von Mysql und das anderere Eigenschaften doch erstrebenswerter sind als ein druchgehender Autoinkerementwert.

          Kommentar

          Lädt...
          X