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 :

MySQL depuis Python


Sujet :

Requêtes MySQL

  1. #1
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut MySQL depuis Python
    Bonjour,

    J'utilise l'outil conseillé par MySQL pour cela, à savoir le paquet MySQLdb.

    Ma question porte sur les INSERT. Lorsque j'exécute une requête distante, le serveur me retourne comme réponse 1.

    Si je fais un SELECT pour voir la taille de la table où j'ai effectué mon insertion, je me rend compte que l'insertion n'a pas été effectuée.

    Pourtant, un DROP fonctionne très bien, comme un SELECT, ...

    J'ai manqué quelque chose de basic ?

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Je ne connais rien à Python ni à son paquet MySQLdb, mais peut-être cela pourra-t'il t'éclairer de savoir comment ça se passe avec PHP.
    Extrait de la doc PHP:
    Pour les autres types de requêtes, INSERT, UPDATE, DELETE, DROP, etc., mysql_query() retourne TRUE en cas de succès ou FALSE en cas d'erreur.
    .../...
    Utilisez .../... mysql_affected_rows() pour trouver le nombre de lignes affectées par les requêtes du type DELETE, INSERT, REPLACE, ou UPDATE.
    Le code retour 1, que tu obtiens, correspondrait au TRUE que nous obtenons suite à un appel à mysql_query() sur une requête INSERT, il te faudrait connaître l'équivalent de mysql_affected_rows() pour savoir combien de lignes ont été insérées.
    Mais comme tu nous dis que l'insertion ne s'opère pas, cela remet en cause ma première interprétation du code retour 1, du serveur.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    J'avais la même interprétation que toi, d'où mon étonnement
    Je vais essayer de voir si j'ai accès aux affected_rows().


  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    C'était tout con en fait : MySQLdb est à la base en mode transaction, et il faut commiter à la fin les modifications de type INSERT, UPDATE, ... avec un conn.commit().

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

Discussions similaires

  1. création de base mySQL avec python
    Par preacher_man dans le forum Bibliothèques tierces
    Réponses: 7
    Dernier message: 23/06/2006, 19h38
  2. Acceder au serveur mysql depuis le local mais pas internet
    Par Homegrown dans le forum Installation
    Réponses: 9
    Dernier message: 25/11/2005, 23h35
  3. [MySQL] Mettre a jour un serveur MySQL depuis un autre
    Par baddounet dans le forum Administration
    Réponses: 6
    Dernier message: 01/09/2005, 15h09
  4. [JDBC]Problème Accent MySQL depuis DB browser dans eclipse
    Par chpruvos dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 26/08/2005, 14h14
  5. Alimenter un db MySql depuis FileMaker
    Par aquel dans le forum Autres SGBD
    Réponses: 20
    Dernier message: 17/02/2004, 15h23

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