Ankündigung

Einklappen
Keine Ankündigung bisher.

Duplicate Entry Mysql

Einklappen

Neue Werbung 2019

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

  • Duplicate Entry Mysql

    asd

  • #2
    Deine Problembeschreibung ist meines erachtens etwas unvollständig:

    Hat das Table neben den feldern
    • Advertid
    • Partnerid
    • Title
    • Type
    • Img
    • Width
    • Height
    • Imgtype
    • Status

    noch das feld "ID" ?

    Am besten wärs wenn du das CREATE-Statement des Tables deiner Problembeschreibung zufügst, das genau das erzeugt was du aktuell als Tabelle vorliegen hast. Warum und wieso du eine Random-Zahl ausserhalb von mySQL generierst und wozu sie notwendig ist, ist auch nicht wirklich ersichtlich ( schon allein hinsichtlich dessen das du nicht prüfst ob die eingefügte "AdvertID" einzigartig ist ( wenn sie denn einzigartig sein soll )..

    Kommentar


    • #3
      örm - also wenn dann liegt der Bock in der aufgeführten ersten Zeile ...

      $advertid = rand(1000000000,9999999999); -> Zahlen zwischen 1 Mrd und 10 Mrd ...

      32 bit integer kann aber (mit Vorzeichen) nur zwischen -2.14 Mrd und +2.14 Mrd speichern - größere Zahlen werden automatisch auf diese 2.14 Mrd beschnitten (mehr passt halt in 32 bit nicht rein) - und eben diese Obergrenze siehst du als "ID" .. 2^31-1 ...

      bestimme deine $avertid da mal kleiner (Faktor 1/10) und du dürftest andere Werte finden

      gleiches gilt für die ID beim auto_increment ... mehr als 32bit geht halt nicht mit "integer" - entweder du nimmst BIG INT -> 64 bit .. oder du überlegst nochmal ... ich kann mir nämlich nicht vorstellen, dass du schon 2.14 Milliarden Dateien hochgeladen hast

      Kommentar


      • #4
        Zitat von Auranores Beitrag anzeigen
        Ich habe ID auf auto_increment Gesetzt, aber er erhöht nicht.
        Dann lass auch deine Datenbank auto_increment(en) und gib ihr keine ID vor, sonst klappt das nicht zuverlässig.
        PHP-Code:
        result $Core->query("INSERT INTO Werbung(Advertid, ... ) VALUES (NULL, ...); 

        Kommentar


        • #5
          ganz allgemein - leg deine Insert-Abfrage erstmal in einer Variablen ab, die gibst du aus, bis das Problem behoben ist ..

          da solltest du sehen, dass du die Abfrage schon losschickst mit dieser unglaublich großen ID . warum das nicht so arbeitet wie du denkst, steht in meinem ersten Beitrag ...

          Kommentar


          • #6
            asd

            Kommentar


            • #7
              Zitat von tr0y Beitrag anzeigen
              Am besten wärs wenn du das CREATE-Statement des Tables deiner Problembeschreibung zufügst, das genau das erzeugt was du aktuell als Tabelle vorliegen hast.
              @Auranores - mach das bitte.

              Kommentar


              • #8
                asd

                Kommentar


                • #9
                  Mit ALTER TABLE ?

                  Kommentar


                  • #10
                    asd

                    Kommentar


                    • #11
                      Google und in 10 sekunden gefunden...
                      PHP-Code:
                      ALTER TABLE t2 AUTO_INCREMENT value

                      Kommentar


                      • #12
                        asd

                        Kommentar


                        • #13
                          Zitat von Auranores Beitrag anzeigen
                          Habs, danke an alle.
                          Entschuldige die Feststellung, aber damit du daran arbeitest: Fortgeschritten aber zu faul im Handbuch nachzusehen.

                          Interessant oder ?

                          Kommentar

                          Lädt...
                          X