Partage
  • Partager sur Facebook
  • Partager sur Twitter

Dupliquer ligne

    6 décembre 2011 à 15:14:51

    Bonjour à tous,

    J'ai une panne aujourd'hui,

    je veux dupliquer une ligne d'une table, pour ce faire j'ai écris la requête suivante :
    $sql ="INSERT INTO DescStandard SELECT * FROM DescStandard 
    WHERE id = 0";
    	$req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error());
    


    Tout fonctionne correctement mais je voudrais modifier une rubrique de la ligne ou l'index de la nouvelle ligne dans la même séquence. Est-ce possible ?

    D'avance merci
    • Partager sur Facebook
    • Partager sur Twitter
      6 décembre 2011 à 15:19:51

      T'as une id qui vaut 0 ????

      Ben au lieu de SELECT *, tu mets SELECT colonne1, colonne2, 'tralala', colonne4 ...

      En admettant que tu veuilles mettre 'tralala' dans la 3e colonne.
      • Partager sur Facebook
      • Partager sur Twitter
        6 décembre 2011 à 15:27:39

        Merci pour ta réponse,

        Ca gène en quoi l'Id = 0 ?

        Ce que je veux c'est éviter de me taper la saisie des 70 colonnes ... Tu vois !

        D'avance merci pour d'autres pistes
        • Partager sur Facebook
        • Partager sur Twitter
          6 décembre 2011 à 15:29:22

          Ben c'est pas courant... Vu qu'en général, les id sont auto-générées, et commentcent par 1.

          Et la seule façon d'éviter de te "taper" ça, c'est faire l'insert avec SEELCT * puis de faire un UPDATE.
          • Partager sur Facebook
          • Partager sur Twitter
            6 décembre 2011 à 15:38:04

            Merci,

            Comment récupérer le dernier enregistrement ? (avec l'Id = 0)

            • Partager sur Facebook
            • Partager sur Twitter
              6 décembre 2011 à 15:39:00

              Si tu fais UPDATE avec LIMIT 1, ça changera une seule ligne.
              • Partager sur Facebook
              • Partager sur Twitter
                6 décembre 2011 à 17:41:31

                Merci

                Ca fonctionne nickel, je n'avais pas pensé à LIMIT dans ce cas précis.

                Bonne soirée

                [MàJ]

                Maintenant je voudrais connaitre dans le résultat de la requête le nombre de colonnes contenant l'expression (c'est un exemple) €€custom€€
                Ca je n'ai jamais fait et je vois pas comment !
                D'avance merci
                • Partager sur Facebook
                • Partager sur Twitter
                  6 décembre 2011 à 18:41:42

                  Oulaaaaa.... C'est bien ce que je pensais, c'est complètement fumeux ton truc.

                  A mon avis, ta base est très mal conçue. T'essaye de faire quoi là ???
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 décembre 2011 à 19:57:53

                    Foireux pourquoi?

                    J'essaie de ne pas trop gaspiller de place dans la base. Donc je cherche à stocker le maximum de chaose dans la même variable texte, mon client prévoyant le stockage de plus 500 000 dossiers ce qui donne une base MySql de + de 80 Go et quand tu appelles OVH et consort ils hoquettent quand tu leurs dit cette taille.

                    Donc j'essaie de gagner de la place par tout les moyens dont celui-la.
                    Je ne peux pas reconstruire la base de zéro, le client ne souhaite pas budgeter les sommes nécessaires.

                    Je pense avoir trouvé en utilisant
                    SHOW FULL COLUMNS FROM DescStandard WHERE comment
                    


                    Je n'ai pas encore déblayer tout le process mais dès que j'ai fini je te donne la solution .
                    Cdlt
                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 décembre 2011 à 21:00:50

                      80 Go / 500.000 lignes => 160 ko/ligne => stockage de fichiers dans la BDD au lieu de les mettre dans le filesystem => erreur...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 décembre 2011 à 0:55:24

                        Je n'ai pas dit 500 000 lignes mais dossier ce qui est très différent !

                        Dans le post je parle d'une table, le dossier est constitué en moyenne de 120 tables !!!

                        Bonne soirée
                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 décembre 2011 à 7:56:53

                          Si tu expliquais l'architecture de ta base, on pourrait peut-être aider...
                          • Partager sur Facebook
                          • Partager sur Twitter
                            7 décembre 2011 à 8:52:16

                            Merci pour ton offre d'assistance mais je dois admettre que la description est complexe et surtout je pense que le nombre de tables est largement sur-dimensionné et nombre de tables peuvent être regroupées.

                            Bonne journée

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Dupliquer ligne

                            × 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