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

JDBC Java Discussion :

[Mysql] Requêtes multiples simultanées


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Points : 76
    Points
    76
    Par défaut [Mysql] Requêtes multiples simultanées
    Bonjour, j'ai une base de données, et à un moment, je dois supprimer des valeurs à l'intérieur de 3 tables.
    J'aurai aimé savoir si ça aurait été possible d'envoyer les 3 requêtes de suppression dans une même variable (les concatener), afin de tout faire en une seule étape, et de ne pas avoir à envoyer 3 requêtes.

    J'ai essayé de les concatener avec le caractère séparateur ";", mais ça ne marche pas, alors que quand je copie la chaine créée et que je la colle sous phpMyAdmin, les requêtes se font sans souci.
    Merci
    (coluche) Avec la capote Nestor, je suis pas né, je suis pas mort !
    Ne commentez jamais vos codes.
    Ca a été dur à écrire, ça doit être dur à lire.

  2. #2
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    si ta suppression est systématique sur les 3 tables, tu peux peut-être voir du côté des procédures stockées?

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Ou alors utiliser une transaction.
    Tu fais tes 3 requêtes et tu commit la connexion pour les valider toutes (ou rollback pour les invalider)

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Points : 76
    Points
    76
    Par défaut
    Merci pour ces réponses.

    Je vais voir du côté des procédures stockées, si j'ai la possibilité d'en faire.

    OButterlin : je vais chercher sur le net un peu parce que je comprends pas trop ce que tu m'as dit

    Je vous tiens au courant


    Edit : j'ai regardé du côté des transactions vite fait, c'est de ce style là non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    BEGIN TRANSACTION ;
    -- mes requêtes --
    COMMIT;
     
    Avec SET AUTOCOMMIT = 1
    tu doit spécifier explicitement le début et la fin de la transaction.
     
    START TRANSACTION ;
    -- mes requêtes --
    COMMIT; ou ROLLBACK
     
    Avec SET AUTOCOMMIT = 0
    chaque commit valide la transaction et commence une autre (implicitement)
    chaque rollback annule la transaction
    (coluche) Avec la capote Nestor, je suis pas né, je suis pas mort !
    Ne commentez jamais vos codes.
    Ca a été dur à écrire, ça doit être dur à lire.

  5. #5
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    avec autocommit=1 toute requête est automatiquement validée par ton SGBD (...moi je gère moi-même mes transactions).
    Dans ton cas, la coup des transactions ne va pas te régler le problème d'envoi multiple de requêtes......par contre je t'engage à utiliser une transaction au sein de ta procédure stockée (si tu utilises cela)...
    voilou

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Généralement, on utilise l'objet connection pour positionner l'autocommit, dans le genre connection.setAutoCommit(false); (pour utiliser le commit/rollback c'est un minimum)
    Ensuite, pour les requêtes multiples, j'utiliserais la méthode addBatch(String) de statement (ou de preparedStatement), du coup, tu as bien tes requêtes multiples et c'est du JDBC standard

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Points : 76
    Points
    76
    Par défaut
    Très bien, merci de vos réponses
    (coluche) Avec la capote Nestor, je suis pas né, je suis pas mort !
    Ne commentez jamais vos codes.
    Ca a été dur à écrire, ça doit être dur à lire.

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

Discussions similaires

  1. [MySQL] mysql requête multiple
    Par Hayabusa dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/05/2007, 16h20
  2. [Mysql] requête multi-criteres
    Par Nick_59 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 20/04/2006, 14h43
  3. [MySQL] count multiple
    Par kostia dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/02/2006, 10h05
  4. [php-mysql] requête qui ne marche pas....
    Par sanosuke85 dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/01/2006, 17h18
  5. [requête] multiple count
    Par mandrake_of_mandregas dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 04/01/2006, 19h05

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