IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 MySQL Discussion :

Modification sur toute une table


Sujet :

MySQL

  1. #1
    FoxLeRenard
    Invité(e)
    Par défaut Modification sur toute une table
    Bonjour,

    ça doit étre simple j'ai à modifier sur une trés grosse table une variable
    alors avant de risquer de l'endommager, je voudrais savoir si je peux faire ainsi ?

    1) j'ouvre ma base de donnee
    $Flag1=mysql_connect($Serveur,$User,$Mdp);
    $Flag2=mysql_select_db($MaBase);
    2) je vais tout parcourrir ainsi
    $result=mysql_query( "select * from z_LesArticles
    WHERE NomArticle >= ' ' and NomArticle <= 'zzzz'
    ORDER BY NomArticle");
    3) dans la sequence lue je vais utiliser 1 variables
    la modifier et la reecrire
    est-ce que ca se fait ainsi ?
    while ($row=mysql_fetch_array($result))
    {
    $NomArticle= stripslashes($row['NomArticle']);
    $NBRArticle= stripslashes($row['NBRArticle']);
    $NBRArticle=$NBRArticle+10;

    $control=mysql_query ("UPDATE z_LesArticles SET
    NBRArticle='$NBRArticle' WHERE NomArticle = '$NomArticle'");

    }
    mysql_close();
    Merci d'avance
    Dernière modification par Jannus ; 11/12/2008 à 18h45. Motif: MeF

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    ça va être très lent. Il faut le faire en une seule requête, c'est bcp plus rapide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE z_LesArticles
    SET NBRArticle = NBRArticle + 10 
    WHERE NomArticle >= ' ' and NomArticle <= 'zzzz'
    (à tester d'abord sur une copie de la table, comme toute modification)

  3. #3
    FoxLeRenard
    Invité(e)
    Par défaut
    Merci de ta réponse, en fait j'avais simplifié pour rendre ma question facile,
    mais je dois en réalitée faire une manipulation plus complexe...

    Je dois donc conserver ma version, seulement la zone que je réécrit est un
    texte dans lequel j'aurais fait un str_replace.

    Tout le fichier se déroule bien, mais la réécriture n'a pas l'air de se faire ???

    Je ne comprendspas pourquoi ....

    Merci encore a toi

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    C'est difficile à dire sans voir ton code.

    Quant au str_replace, tu peux le faire en SQL avec REPLACE.

Discussions similaires

  1. UPDATE sur tout une table
    Par ddaime dans le forum Développement
    Réponses: 5
    Dernier message: 12/06/2011, 09h52
  2. Update sur toute une table
    Par FoxLeRenard dans le forum MySQL
    Réponses: 11
    Dernier message: 28/01/2009, 20h49
  3. Réponses: 4
    Dernier message: 06/09/2006, 14h04
  4. [Debutant] faire un update sur tout une table
    Par Karibou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/07/2005, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo