inserting integer in Table

Thomas SMETS tsmets at altern.org
Thu Jul 27 19:39:34 EDT 2000


Well Roland,

didn't work at my place ...
I reCREATED a similar table with  a column defined as int4 & bearing the
name pk.
<snip>
tsmets=> create table TESTPYTHON
tsmets-> ( pk integer, filename varchar(99), file bytea );     
</snip>

I couldn't insert a simple integer with you command :
        i = 0
        conn.query("insert into TESTPYTHON pk values ( %s );" % i)


Exception thrown is :
<snip>
Traceback (innermost last):
  File "insertBlobs.py", line 15, in ?
    conn.query("insert into TESTPYTHON (pk) values ( %s );" % i)
pg.error: ERROR:  Relation 'testpython' does not have attribute 'pk'    
</snip>

Shouldn't I use %i or something like that instead of %s ?

Tx,

Thomas,





================================
Thomas SMETS wrote:
> 
> In PostgreSQL table is :
> <snip>
> test=> \d  test_blob_s;
> Table    = test_blob_s
> +----------------------------------+----------------------------------+-------+
> |              Field               |              Type                |
> Length|
> +----------------------------------+----------------------------------+-------+
> | filenumber                       | int4
> |     4 |
> | filename                         | varchar()
> |   100 |
> | filecontent                      | oid
> |     4 |
> +----------------------------------+----------------------------------+-------+
> test=>
> </snip>
> 
> Now I'm willing to insert in that table rows like this one :
> <i>, <file_name_i>, <file_name_i_content>.
> 
> Here's is the (not-so-running) code :
> 
> <snip>
> #
> #
> # ############################################
> import os, glob
> from pg import DB
> 
> conn=DB('test')
> conn.query("BEGIN WORK;")
> 
> i = 0
> for name in glob.glob("*.jpg"):
>     print "Name is ", name,
>     try:
>         conn.query("insert into test_blob_s  filenumber  values (" + i +
> ")")
>         print " inserted"
>     except TypeError,e:
>             print '\nerror ', e, 'undefined'
> #    conn.query( "update test_blob_s set filename = '" + name + "')")
> #    conn.query( "update test_blob_s set filecontent = '" +
> lo_import(name) + "')")
> 
>     i = i + 1
> 
> conn.query(" COMMIT WORK;");
> 
> </snip>
> 
> of course I can't have it passing the insert of "i"
> Could some one help ?
> 
> Thomas,
> 
> --
> 
> Thomas SMETS                           Phone : +32 (0)2 742. 05. 94.
> Av. de la Brabançonne 133 / 3          e-mail : tsmets @altern.org
> 1030 Bruxelles
> 
> ==== Quote of the day =========
> You shouldn't wallow in self-pity.  But it's OK to put your feet in it
> and swish them around a little.
>                 -- Guindon
>  ======= End of Quote =========

-- 

Thomas SMETS                           Phone : +32 (0)2 742. 05. 94.
Av. de la Brabançonne 133 / 3          e-mail : tsmets @altern.org
1030 Bruxelles

==== Quote of the day =========
Your true value depends entirely on what you are compared with.
 ======= End of Quote =========



More information about the Python-list mailing list