Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/03/2013, à 15:57

bmzoom

[RESOLU] Pg et data

bonjour ,

Je débute avec une bdd pg et script python avec 2 enregistrements de données  . Le script renvoi les données , mais lorsque que je me connecte
à pgadmin , la table n'a pas été créé . Qu'est ce qui est incohérent dans le script ?


#! /usr/bin/python
# -*- coding: utf-8 -*-

import psycopg2

conn = psycopg2.connect("dbname=python user=ubuntu password=xxxx")
cursor = conn.cursor ()
cursor.execute ("DROP TABLE IF EXISTS mess1;")
cursor.execute("CREATE TABLE mess1 (id SERIAL PRIMARY KEY, nom TEXT , message TEXT);")
# ##############DATA###################
cursor.execute ("INSERT INTO mess1 (id , nom , message) VALUES ('1','Christian :','Bonsoir');")
cursor.execute ("INSERT INTO mess1 (id, nom, message) VALUES ('8','Fabien :',' moi non');")
###############DATA###################
print "Number of rows inserted: %d" % cursor.rowcount
cursor.execute("SELECT * FROM mess1;")
tuples = cursor.fetchall()

# Print out table data.
for (id, nom , message) in tuples:
     print str(id) + " : " + str(nom)+ " => " + str(message)

cursor.close ()
conn.close ()
Number of rows inserted: 1
1 : Christian : => Bonsoir
8 : Fabien : =>  moi non

Dernière modification par bmzoom (Le 13/03/2013, à 18:34)

Hors ligne

#2 Le 13/03/2013, à 17:22

tiramiseb

Re : [RESOLU] Pg et data

Si je me rappelle bien, Psycopg2 commence une transaction à l'ouverture de la connexion, mais c'est à toi de terminer la transaction avec un commit.

Si tu mets un "conn.commit()" juste après tes deux "INSERT", ça donne quoi ?



PS : je te suggère d'utiliser SQLAlchemy plutôt que directement Psycopg2.

Hors ligne

#3 Le 13/03/2013, à 18:02

bmzoom

Re : [RESOLU] Pg et data

ok - merci

mess1: Analyse effectuée

Table     Propriétaire     Tablespace     Nombre d'enregistrements estimés
mess1     ubuntu                                                            2

Il y a aussi " import pgdb " , donc à chaque module , son lot de fonctions pour ainsi dire fort différent
l'un de l'autre ..

sudo apt-get install python-sqlalchemy

Hors ligne