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

Requêtes MySQL Discussion :

erreur lors d'insertion dans une table à partir d'une autre


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 47
    Points : 32
    Points
    32
    Par défaut erreur lors d'insertion dans une table à partir d'une autre
    bonjour tout le monde,
    voici mon problème:
    je veux essayer une requête d'insertion dans une table à partir d'une autre avant de la mettre dans un trigger.
    je crée cette première requête sous mysql5.0 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into matrix_obj_obj(num_obj) select num_obj from business_objective;
    pour une première tentative(une première insertion dans la table source business_objective) ça fonctionne bien et je vois l'insertion automatique dans la table matrix_obj_obj.
    Cepondant si je fais une deuxième insertion dans la table source business_objective il m'affiche une erreur qu'il y a des lignes qui existent déjà , alors comment devais-je modifier ma requête pour n'insérer que les nouvelles valeurs?

    Merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    INSERT INTO matrix_obj_obj(num_obj)
    SELECT num_obj
    FROM business_objective
    where num_obj not in (select num_obj from matrix_obj_obj);
    mais je ne sais pas si ça sera accepté.

    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT IGNORE INTO matrix_obj_obj(num_obj) SELECT num_obj FROM business_objective;
    mais ça a le défaut de masquer les erreurs (encore qu'ici il ne risque pas trop d'y en avoir). Sinon peut-être en jouant avec "ON DUPLICATE KEY UPDATE"...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 47
    Points : 32
    Points
    32
    Par défaut
    merci beaucoup
    ça marche bien avec ignore, voila :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT ignore  INTO matrix_obj_obj(num_obj) SELECT num_obj FROM business_objective;
    merci developpez.com

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/06/2012, 12h12
  2. Erreur lors d'insertion dans une table avec Indentity
    Par rad_hass dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 20/03/2008, 15h22
  3. [Tables] Update d'une table à partir d'une autre
    Par le_niak dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/01/2008, 09h01
  4. Réponses: 4
    Dernier message: 03/06/2006, 12h45
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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