0
私はpsycopg2
でpython
を使用しています。Postgresql:psycopg2を使ってテーブルから別のカラムにコラムをコピーする方法は?
私は2つのテーブルを作成しました。 1つはdata
と呼ばれ、データを入力したいと思っています。これを行うために、私はファイルからtemporarytable
という一時テーブルを作成しました。
私は列numberofinhabitants
をコピーしたいと思います。それでは、私がやっていることは、次のとおりです。
### Add Column
import psycopg2 as ps
stat1 = """ ALTER TABLE data ADD COLUMN numberofinhabitants integer"""
con = ps.connect(dbname = 'mydb', user='postgres', host='localhost', password='mypd')
con.autocommit = True
cur = con.cursor()
cur.execute(stat1)
cur.close()
con.close()
### Copy Column
stat2 = """INSERT INTO data (numberofinhabitants) SELECT numberofinhabitants FROM temporarytable"""
con = ps.connect(dbname = 'mydb', user='postgres', host='localhost', password='mypd')
con.autocommit = True
cur = con.cursor()
cur.execute(stat2)
cur.close()
con.close()
が、私は問題があると思いSELECT * FROM temporarytable;
ここで、 'temporarytable'を作成していますか?コピーしようとすると一時的なテーブルが既に削除されている可能性はありますか? –
接続を閉じて再度開いて(一時表が削除される可能性があります)、通常の表を作成しないでください。 –
@franciscosollimaそれは私が 'temporarytable'と呼ぶ正規のテーブルです – emax