Erreur 1062 Duplicate Entry

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Erreur 1062 Duplicate Entry

    Bonjour et meilleurs vœux à toutes et tous !

    Une bonne année ne peut pas commencer sans un bon bug !

    Je m'occupe de plusieurs sites et tous ceux qui ont "re-suscription" affichent une page d'erreur avec le code "Erreur 1062 Duplicate Entry 2147483647 for Key Primary".

    Partant du principe que tous les sites présentent le même ^problème en même temps, et cela coïncide avec la nouvelle année, j'ai du mal à penser à un hasard...

    Auriez-vous un début de piste de recherche ?

    Merci à vous !

    P.S : déjà tenté de nettoyé, optimiser et réparer la BDD".



  • #2
    Euh, c'est quoi "re-suscription" ?
    Un lien ?
    Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

    Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

    Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

    Commentaire


    • #3
      Bonjour et merci !

      Erreur de frappe, il s'agit de RD suscription qui semble aujourd'hui avoir disparu et remplacé par OCH https://extensions.joomla.org/extens...subscriptions/

      Commentaire


      • #4
        Bonjour,

        La question est de savoir ce que tu as fait juste avant l'apparition de l'erreur.
        Et si tu as pris une licence OCH, as-tu posé la question aux auteurs ?
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire


        • #5
          Bonjour RobertG,

          Avant l'apparition j'ai fait 2 choses, le réveillon et une nuit de sommeil !

          Plus sérieusement, je n'ai rien fait et le problème est strictement identique sur tous les sites qui ont ce composant installé.

          J'avais eu des contacts avec le développeur mais je découvre aujourd'hui que le composant a changé de crémerie.

          Merci !

          Commentaire


          • #6
            Il faut donc essayer de savoir à quoi correspond ce champ à clé primaire et pourquoi il bloque tout d'un coup sur cette valeur.
            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

            Commentaire


            • #7
              Mes petites recherches m'ont amenées à une découverte qui ne laisse que peu de place au hasard.

              Comme indiqué l'erreur est "Erreur 1062 Duplicate Entry 2147483647 for Key Primary".

              N'étant pas un génie je me contente de vous mettre le lien vers Wikipédia et j'attire votre attention sur le fait que "Le nombre 2 147 483 647 est resté le plus grand nombre premier connu jusqu'en 1867" (https://fr.wikipedia.org/wiki/2_147_483_647_(nombre))

              Il y a donc un truc qui a atteint une limite ou quelque chose de ce genre non ?

              Merci

              Commentaire


              • #8
                A quoi correspond exactement une clé primaire ?

                Commentaire


                • #9
                  Un clé primaire permet de répertorier d'une manière unique un enregistrement.
                  Il faut donc trouver quel est le champ, dans une table rd-subs, qui contient de telles valeurs.
                  Et en effet, il s'agit d'une limite fonction du type défini pour ce champ (INT), avec impossibilité de lui attribuer une valeur supérieure. Après recherches, il faudrait passer le champ en "BIGINT".

                  Mais je dois dire que j'ai du mal à comprendre pourquoi et comment cette limite, énorme, a été atteinte.
                  "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                  MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                  Commentaire


                  • #10
                    Trouvé le coupable !

                    Dans la table : rd_subs_ordercodes, l'ID passe directement de 2100001185 à 2147483647 !

                    La première ligne débute à 2100001086.

                    Très étonnant et assez incompréhensible !

                    Commentaire


                    • #11
                      Peut-être alors pourrais-tu faire une modification, sur un des sites ou sa copie, de 2147483647 en 2100001186 (mais il faut absolument savoir quelle autre table utilise cet ID pour le lien avec le souscripteur) et tester la création d'une nouvelle souscription.
                      Il n'est en effet pas compréhensible qu'un tel saut soit fait entre les deux derniers enregistrements.
                      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                      Commentaire


                      • #12
                        Oups... J'ai supprimé cette entrée sur tous les sites car en réalité je n'utilise quasiment pas le potentiel du composant qui me sert juste à faire basculer un membre d'une catégorie à une autre automatiquement...

                        En supprimant cela refonctionne mais si j’avoue que ce n'est pas la manière la plus raffinée de procéder !

                        Commentaire


                        • #13
                          Bonjour,

                          Bon mon problème persiste :-(

                          Medoutant qu'il y avait bien un problème au niveau de la date j'ai fouillé un peu tous les fichiers du composant et j'ai trouvé cela qui semble pertinent :
                          Code PHP:
                          if (empty($ordercode)
                          || 
                          strlen($ordercode 10)
                          || 
                          substr($ordercode02) < date('y')
                          )
                          {
                          $ordercode date('y') . '00000000';
                          }

                          $ordercode++; 

                          Mon hypothèse est que 2022 dépasse 2021 (pertinent n'est ce pas !) et que donc le résultat dépasse la limite et c'est donc la valeur maximale qui apparait '2147483647'

                          J'ai donc tenté d'ajouter une petite bidouille ($ordercode = date('y', strtotime('-10 year')) . '0000000' mais toujours le même problème apparait.

                          Une petite idée pour fixer cette sorcellerie ?

                          Merci à vous !



                          Commentaire


                          • #14
                            Ouille... Tu chipotes et tu vas tout casser...

                            S'agissant d'un logiciel, le mieux est de demander du support au nouveau développeur. Ta dernière bricole est de la grande sorcellerie :-)
                            Christophe (cavo789)
                            Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                            Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                            Commentaire


                            • #15
                              Merci pour le retour,

                              Mon problème c'est qu'il semble parti avec la caisse le développeur !

                              Je me disais (c'est peut-être bête hein !) que puisque c'est une sorte d'algorithme qui crée cet ID et que c'est la partie DATE qui crée le dépassement de capacité, il me suffisait de modifier la date pour à nouveau entrer dans la limite.

                              Sinon peut-être qu'il est possible d'augmenter cette limite ?

                              Merci !

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X