Partage
  • Partager sur Facebook
  • Partager sur Twitter

MySQL requete suppression

    3 décembre 2010 à 21:13:34

    Bonjour a tous

    je vais vous expliquer mon probleme, ne critiquer pas ma table SQL svp :p

    j'ai une table personnages avec differents champs, donc un qui s'appel "items", sa contenance est ainsi : id;id;id;id;id
    id sont les ID des items, items etant stockes dans une autre table.

    Je voudrais supprimer tous les items qui ne sont pas associés a un perso (j'ai suppr des persos depuis la bdd, et les items surchargent)

    merci
    • Partager sur Facebook
    • Partager sur Twitter
      3 décembre 2010 à 21:28:15

      Bah si tu ne veux pas qu'on critique ta table on va pouvoir t'aider, parce qu'il y a un gros problème de conception qui fait que ce que tu veux faire te parait compliqué et te pose problème alors que cela aurait put être très simple si tes tables avaient bien été faite.
      • Partager sur Facebook
      • Partager sur Twitter
        3 décembre 2010 à 21:33:19

        ben ouais, mais bon c'est fait comme sa , et tampis ...

        ya surement moyen, peut pas pas directement par MySQL, mais peut etre par un script PHP ?
        • Partager sur Facebook
        • Partager sur Twitter
          3 décembre 2010 à 21:41:48

          Si cela serait possible avec une procédure stockée en SQL, cela serait un peu long et compliqué mais après tout on est plus à ça près vu tes tables et que tu tiens à les garder comme cela.
          Sinon en PHP tu récupère la valeur du champ items tu fais un explode pour récupérer tous les IDs des items dans un tableau, tu parcours le tableau en faisant une requête SQL DELETE pour chaque item.
          • Partager sur Facebook
          • Partager sur Twitter
            3 décembre 2010 à 21:45:22

            le probleme c'est le nombre d'items qui est tres tres elever, sa risque de poser un probleme de traitement nan ?
            Pres de 12500 persos, et 1.4million d'items.
            • Partager sur Facebook
            • Partager sur Twitter
              3 décembre 2010 à 21:47:45

              Et bien dans ce cas change la structure de tes tables.
              • Partager sur Facebook
              • Partager sur Twitter
                3 décembre 2010 à 21:49:10

                j'ai fait un petit edit entre temps :
                "Pres de 12500 persos, et 1.4million d'items."

                je ne peux pas me permettre de tout changer comme sa, il me faudrai une solution ...

                le serveur est tres puissant, je dispose de Navicat, si cela peut aider egalement.
                12Go RAM et i7 860.

                Si tu as une solution ...
                • Partager sur Facebook
                • Partager sur Twitter
                  3 décembre 2010 à 21:52:10

                  Et bien la solution PHP tu peux toujours essayer et voir si cela posera un problème ou non.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    3 décembre 2010 à 21:57:00

                    Citation : rapha-35

                    ben ouais, mais bon c'est fait comme sa , et tampis ...



                    Donc tu fais une erreur de débutant, tu es entièrement conscient de ton erreur et tu ne veux même pas corriger le problème...? Il vaut bien mieux que tu fasses la correction tout de suite que d'attendre dans un an lorsque ta base de données aurait quintuplé et que ton serveur ne sera plus capable de fonctionner de façon optimale.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 décembre 2010 à 22:02:53

                      le probleme, c'est qu'il y a un logiciel derriere qui gere la base de données, et sa demanderai enormement de travail de tout refaire ...

                      pour la solution php, je suis censé faire quoi a peu pres ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        3 décembre 2010 à 22:09:47

                        Crois-moi, il vaut bien mieux que tu prennes le temps tout de suite parce que tôt ou tard, tu seras obligé de le faire (si ton projet fonctionne, évidemment).

                        Avant de se lancer dans un projet, il faut toujours prendre du temps pour le concevoir. Je vois que tu as sauté cette étape, et ça te pose des problèmes aujourd'hui. Même si ce que tu voulais faire était possible, tu finiras par rencontrer un problème que tu ne pourrais pas résoudre à cause de ta mauvaise conception.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          3 décembre 2010 à 22:14:26

                          A voir ... mais bon ! pour l'instant je ne suis pas convaincu,
                          j'essaye de trouver des solutions en php, mais manipuler les "array" c'est pas trop mon truc, j'arriv a recuperer les ID de tous les items qui sont utilisés.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            3 décembre 2010 à 22:20:42

                            Pour manipuler les array: http://www.siteduzero.com/tutoriel-3-1 [...] tableaux.html
                            Sinon Fayden a raison change la structure de tes tables tout de suite.
                            • Partager sur Facebook
                            • Partager sur Twitter

                            MySQL requete suppression

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown