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?

  • erc
    antwortet
    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.

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    Analoges Problem: http://www.php.de/datenbanken/67465-...increment.html

    Einen Kommentar schreiben:


  • nuna
    antwortet
    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

    Einen Kommentar schreiben:


  • wolf29
    antwortet
    Hi.

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

    Wolf29

    Einen Kommentar schreiben:

Lädt...
X