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 :

INSERT date BDD MySQL


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 INSERT date BDD MySQL
    Bonjour !

    Piti souci d'INSERT dans une BDD MySQL. Donc je récupére une date qui est dans un fichier excel, elle est en format flaot du coup je la modifie un peu et ensuite je voudrais faire un insert dans ma bdd. Le insert se fait mais affiche '0000-00-00' dans le champ 'Date'. Problème de format ?

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            date = datetime.datetime(1899, 12, 30)
            get_ = datetime.timedelta(int(feuille.cell_value(8, 1)))
            get_col2 = str(date + get_)[:10]  
            d = datetime.datetime.strptime(get_col2, '%Y-%m-%d')
            Date = d.strftime('%Y-%m-%d')
            print Date
    Et donc je mets la variable Date (qui est bien sous la forme '2014-05-13') dans ma requête d'insert.
    Sachant que le format de la variable doit être un string type tableau car si on fait un Date[2] par exemple il ressort le '1' de 2014.

    Merci bien

  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
    Comment fait tu ton insert ?

    En général quand on travaille avec Python et un sgbd on utilise le binding de variables plutôt que de
    formater "à la main" les données transmises.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    curs = connect.cursor()
    d = date(2014,5,1)
    curs.execute("insert into matable(id, date_creation) values(? ,?)",[1,d])
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    curs = connect.cursor()
    d = date(2014,5,1)
    curs.execute("insert into matable(id, date_creation) values(:id ,:date_creation)",id=1,date_creation=d)
    si le driver le permet (en général, c'est le cas)

    C'est beaucoup plus sûr et plus portable de faire ainsi

  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
    Salut chticricri, avec le INSERT du post de hier

    Le insert se fait, mais c'est le format de DATE qu'il n'aime pas....

    Et la date je la récupère dans une cellule excel donc pas de
    je vais testé avec ton code, pour voir si lui il passe.

  4. #4
    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
    De ton code pour la date :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    d = date(2014,5,1)
    TypeError: 'datetime.datetime' object is not callable
    Edit: Je viens de voir qu'il y a un poste quasi similaire au mien : http://www.developpez.net/forums/d13...-d-date-mysql/

    Mais il utilise une "datetime.datetime.now()" dans le INSERT moi ma date est dans une variable...

Discussions similaires

  1. Insertion date bdd .SDF
    Par dark_botsay dans le forum C#
    Réponses: 1
    Dernier message: 12/04/2011, 12h35
  2. Formatage de chaine avant insertion dans BDD MySQL
    Par kdson dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 18/01/2008, 01h01
  3. insertion date en mysql
    Par minirom dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 07/08/2006, 14h49
  4. [INSERTION DATE] dans requete d'insertion et mysql
    Par vincedjs dans le forum Requêtes
    Réponses: 9
    Dernier message: 03/02/2006, 17h11
  5. [SGBD] formulaire insertion date Bdd Mysql
    Par Mimisator dans le forum Administration
    Réponses: 7
    Dernier message: 30/11/2005, 09h38

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