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

Langage SQL Discussion :

Insert into table if not exists


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut Insert into table if not exists
    Bonjour
    je suis entrain de faire une requete insert sql en java swing
    Bon j'ai 2 jTextField et je veux quand je les remplir ajouter ces champs à la base de données mais à condition qu'il ne sont pas déjà enregistrés dans la tables
    donc j'ai fait cette requete mais elle m'affiche plein d'erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     try{
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/"+db, "root", "mdp");
           stmt = conn.createStatement();
           stmt.executeUpdate("insert into router (edge01,edge02)\n" +
    " Select edge01,edge02 Where not exists(select * from router where edge01='"+jTextField1.getText()+"' and edge02='"+jTextField2.getText()+"')");
     
    }          catch (SQLException ex) {
                   Logger.getLogger(bdd.class.getName()).log(Level.SEVERE, null, ex);
               }
    Voilà les erreurs qu'elle me donne:

    SEVERE: null
    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Where not exists(select * from router where edge01='fffffffff' and edge02='fffff' at line 2

    le fffff sont les champs que j'ai entré dans les zones du texte.
    Merci bien

  2. #2
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select edge01,edge02 From routeur a Where not exists(select * from router b where a.pk = b.pk edge01...
    => insert into ... select * FROM...
    => Pour le not exists, il faut faire le lien entre la requête principale et la requête secondaire. J'ai pris le critère a.pk = b.pk, à toi d'adapter.

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

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

Discussions similaires

  1. Requete INSERT INTO avec IF NOT EXISTS: Est-ce possible ?
    Par yann123456 dans le forum Requêtes
    Réponses: 14
    Dernier message: 15/06/2009, 15h37
  2. Réponses: 12
    Dernier message: 25/11/2005, 12h29
  3. insert into table values/ insert into table select
    Par aaronw dans le forum Requêtes
    Réponses: 4
    Dernier message: 31/05/2005, 15h14
  4. provider 0x80040E37 table does not exist
    Par steph04 dans le forum ASP
    Réponses: 8
    Dernier message: 29/04/2005, 10h56
  5. [DB2] create table... if not exists ?
    Par iubito dans le forum DB2
    Réponses: 6
    Dernier message: 23/03/2004, 18h26

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