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

Python Discussion :

Syntaxe INSERT avec Python


Sujet :

Python

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    114
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Par d�faut Syntaxe INSERT avec Python
    Bonjour,

    Je cherche une syntaxe pour faire un INSERT dans une base de donn�es MySQL avec Python. Je me connecte bien � la BDD et affiche les donn�es, j'aimerai maintenant pouvoir en ajouter.

    Sachant qu'� l'ajout je fais appelle � des variables contenant certaines informations.

    Pour le moment j'ai fais un truc du genre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    curs.execute("INSERT INTO TABLE(CHAMP1, CHAMP1) VALUES (%s, %s)" % (Variable1, Variable2)  )
    Et j'ai test� avec des info "brut" �a marche :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    curs.execute("INSERT INTO TABLE(CHAMP1, CHAMP1) VALUES ('Donnees1', 'Donnees2')" )
    Mais il me dit qu'il y a un probl�me de Duplicate entry '0' for key 'PRIMARY', il faut croire que Python ne g�re pas l'auto increment car normalement MySQL le fait ?

    En vous remercient

    Edit: Enfaite la syntaxe marche...Mais c'est l'auto increment qui ne passe pas. Il faut r�cup�rer � chaque fois la derni�re cl� et y ajouter un ou y a-t-il une autre alternative ?

    Cordialement

  2. #2
    Membre exp�riment�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Par d�faut
    Bonjour,

    Es-tu s�r que ton champs autoincr�ment n'est pas champ1 ou champ2 ?

    Normalement, python ne s'occupe pas des champs autoincr�ment. C'est le SGBD qui g�re �a.

    Qu'utilise-tu pour "attaquer" mysql depuis python ?

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    114
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Par d�faut
    Tout d'abord merci,

    j'utilise pymysql et oui normalement le SGDB g�re �a ! Donc dans la requ�te il ne faut pas mettre le champ auto increment mais seulement les autres ?!

    C'est ce que j'ai fais mais il y a quelque chose qu'il n'aime pas.

  4. #4
    Membre exp�riment�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Par d�faut
    Une question toute b�te :
    As-tu essay� ta requ�te depuis un outil tel que php-myadmin ou autre ?

    Parce que, dans ce cas, le probl�me est dans la d�finition de la table.

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    114
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Par d�faut
    Ca vient de la table.............

    Il dit qu'il #1062 - Duplicate entry '0' for key 'PRIMARY'

    Pour
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    INSERT INTO compil (cd_site, date_opecont, cd_infoloc, reseau, support) VALUES ('111', '2014-11-11', '111', 'rcr', 'girafe');
    Dans PHPmyadmin...

    Et un autre truc un peu bizarre je fais
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    result2=curs.execute("select * from table1")
            result2=curs.fetchone()
            print result2
    Il me sort que 1 ligne, vois pas pourquoi

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    114
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Par d�faut
    Donc enfaite c'est bien la table qui est bloqu�, et c'est normal.

    Par contre Python ne m'affiche qu'une entr�e alors qu'il y a un SELECT ALL

    Edit: C'est bon en faite il faut afficher le fetchone() ET le fetchall()...

    Merci � bient�t

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 4
    Dernier message: 16/06/2015, 17h14
  2. [MySQL] Syntaxe SQLI avec INSERT
    Par przvl dans le forum PHP & Base de donn�es
    R�ponses: 7
    Dernier message: 12/06/2015, 15h27
  3. R�ponses: 1
    Dernier message: 24/11/2014, 15h08
  4. syntaxe requete insert avec where
    Par maub85 dans le forum Requ�tes et SQL.
    R�ponses: 7
    Dernier message: 18/01/2012, 09h03
  5. [AC-2007] Probl�me de syntaxe INSERT INTO avec champs boole�ns
    Par tAKAmAkA dans le forum VBA Access
    R�ponses: 1
    Dernier message: 09/09/2009, 16h57

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