Reputation: 115
I have a Python list newcol
that I want to add to an existing Postgresql table. I have used the following code:
conn = psycopg2.connect(host='***', database='***', user='***', password='***')
cur = conn.cursor()
cur.execute('ALTER TABLE %s ADD COLUMN %s text' % ('mytable', 'newcol'))
conn.commit()
This added the list newcol
to my table, however the new column has no values in it. In python, when I print the the list in python, it is a populated list.
Also, the number of rows in the table and in the list I want to add are the same. I'm a little confused.
Thanks in advance for the help.
Upvotes: 3
Views: 8031
Reputation: 121
ALTER TABLE
only changes table schema -- in your case it will create the new column and initialize it with empty (NULL) values.
To add list of values to this column you can do:
UPDATE TABLE <table> SET ...
in a loop.
Upvotes: 2