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

PHP & Base de données Discussion :

insérer sans écraser les données déjà existantes d'une table [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 109
    Par défaut insérer sans écraser les données déjà existantes d'une table
    bonjour,
    j'ai un problème d'insertion, j'ai créer trois pages en php. La première où il y a une liste déroulante avec laquelle je récupère le numéro à modifier.
    Dans la 2eme mon formulaire déjà rempli avec les champs à modifier (pour ces deux pages aucun problème)
    Le problème c'est dans la 3eme je veux modifier juste quelques champs mais sans les écraser dans la table, j'ai fait un insert into mais le problème est qu'on ne peut pas faire un where, en plus c'est une jointure, j'ai voulu récupérer les id et faire des insert into mais j'ai une erreur lors de l'insertion il connait pas le id récupéré pour l'insérer.
    j'espère que j'ai été clair,
    et merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut
    Salut, il faut que tu utilises la commande update. Mais je pense qu'un totriel de SQL serait encore mieux. Dans la section faq et tuto de dvp tu devrais pouvoir trouver cela.

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 109
    Par défaut
    le update va écraser mes données moi je veux qu'il garde les anciennes valeurs

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    Citation Envoyé par brajae85 Voir le message
    le update va ecraser mes donnees moi je veux qu'il garde les anciens valeur
    dans ce cas, t'a plus qu'a créer une table intermediaire qui se chargera de contenir pour chaque ligne modifier l'ancienne valeur. en ce moment dans ta table principale, tu peux ecraser les valeurs actuelles avec les nouvelles que l'utilisateur vient de saisir. tout ceci sachant que les valeurs qui tu es entrain d'ecraser ont été préalablement sauvegardé dans ta table de backup

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 109
    Par défaut
    merci bien pour ta reponse. Mais est ce que c'est pas possible de le faire avec insert into Table1(champ1,champ2) select champ3,champ2 from table2,table3

    si oui ,quelle est la forme exacte d'une tel requete.
    et merci

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    oui c'est possible. c'est une requte du genre
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert into matable(champ1,champ2)
    (select champ3,champ4 from t1,T2 where T1.id=T2.id)

    verifie la syntaxe. en plus j'ai jamais fais ça avec mysql (avec oracle oui). je parle donc sous reserve de controle

  7. #7
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 323
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 323
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par brajae85 Voir le message
    est ce que c'est pas possible de le faire avec insert into Table1(champ1,champ2) select champ3,champ2 from table2,table3

    si oui ,quelle est la forme exacte d'une tel requete.
    Oui c'est possible, toutes les infos et des exemples sont dispos dans la DOC MySQL : http://dev.mysql.com/doc/refman/5.1/...rt-select.html

  8. #8
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 323
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 323
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par brajae85 Voir le message
    je veux modifier juste kelk champs mais sans les ecraser dans la table
    Je veux bien un exemple avec :
    1. Contenu du champ avant modif
    2. Saisie de l'utilisateur
    3. Contenu du champ après modif

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Requêtes sql sans écraser les données
    Par Arkodath dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 17/06/2015, 09h02
  2. Réponses: 10
    Dernier message: 08/12/2014, 15h11
  3. [AC-2007] enregistrer les données sur état dans une table
    Par ouahab dans le forum Access
    Réponses: 1
    Dernier message: 14/05/2012, 15h12
  4. Réponses: 1
    Dernier message: 11/03/2009, 11h52
  5. Réponses: 3
    Dernier message: 04/10/2007, 12h00

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