Ankündigung

Einklappen
Keine Ankündigung bisher.

Duplicate entry problem

Einklappen

Neue Werbung 2019

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

  • Duplicate entry problem

    Hallo

    Ich habe folgendes Problem:
    MySQL sagt mir immer Duplicate entry '29-0' for key 1, dass problem ist ich weiß nicht woran es liegt. Ich habe in der Tabelle eine ID die mein Primärschlüssel ist und auf auto_increment gesetzt ist. Im Insert setze ich diesen Primary key nicht sondern lasse ihn erzeugen. Irgendwie habe ich keine ahnung woran es sonst liegen kann.

    Falls noch weitere Informationen dazu gebraucht werden schreib ich gern noch was dazu, weiß im moment nur nicht was ich noch dazu sagen kann.

    mein Insert poste ich noch zusätzlich hier, vielleicht hilft das ja:
    INSERT:
    PHP-Code:
    $sql "INSERT INTO auftraege VALUES('','".$_SESSION['id']."','".$_SESSION['auftrag_name']."',
            '"
    .$_SESSION['myprofil']['plz']."','".$_SESSION['myprofil']['ort']."','".$_SESSION['auftrag_preis']."','".$_SESSION['auftrag_beschreibung']."',
            '"
    .$_SESSION['reichweite']."','".$anfangsdatum."','".$enddatum."','".$_SESSION['auftrag_laufzeit']."',
            '"
    .$_SESSION['auftrag_haftpflicht']."','".$_SESSION['auftrag_zahlung']."','".$termin."','".$_SESSION['auftrag_anforderungen']."','".$_SESSION['sonstiges']."');"
    mfg phrain


  • #2
    Wäre noch hilfreich, wenn man wissen würde, wie die einzelnen Spalten heissen, die du da mit Inhalt füllst, da du die Spalten ja nicht angibst vor dem VALUES.

    Kommentar


    • #3
      die Spalten sind hier im folgenden augelistet :

      id, personid, name, plz, ort, startpreis, beschreibung, reichweite, adatum, edatum, restzeit, betriebshaftpflicht, zahlungmodalitaeten, ausführungsdatum, qualifikationen

      hoffe das hilft.

      Kommentar


      • #4
        Ich kann jetzt nur raten, aber vielleicht liegt es daran, dass du die id mit '' (sprich einem leeren String) angibst. Vielleicht solltest du mit
        Code:
        INSERT INTO table (spalte1,spalte2,....) VALUES (wert1,wert2,....)
        arbeiten, dann kannst du nämlich die ID-Spalte komplett weglassen.

        Ich finde aber auch den zurückgegebenen duplicate key "29-0" bissl komisch. Sollte das nicht einfach ein Integer sein?

        Kommentar


        • #5
          Du hast zusätzlich zum PRIMARY KEY auch noch einen UNIQUE INDEX über zwei Felder. Dieser produziert diesen Fehler.
          Gruss
          L

          Kommentar


          • #6
            ja eigentlich schon bzw die id ist als integer definiert. die 29-0 irritiert mich auch ein wenig.

            das ich da ein '' reinpacke dürfte eigentlich kein problem sein weil die spalte mit auto_increment gesetzt wurde ich probiers aber mal so wie du's vorgeschlagen hast.

            Kommentar


            • #7
              danke lazydog hab den fehler gefunden.

              Kommentar


              • #8
                Zeige doch mal die evaluierte Abfrage an (echo $sql), sowie das Resultat von
                Code:
                SHOW CREATE TABLE auftraege;
                Gruss
                L

                Kommentar


                • #9
                  ich hab das nicht ganz verstanden was du jetzt von mir wolltest aber ich habe den fehler in einer referenzierten Tabelle gefunden in der ich einen zusammengesetzen Schlüssel aus 2 ids habe und ich bei meinen updates bzw inserts jeweils nur nach einem der beiden schlüsselattribute abgefragt habe.

                  Dadurch hat er mich einen eintrag auf mehrere teilschlüssel geschrieben

                  thx nochmal

                  mfg

                  Kommentar

                  Lädt...
                  X