2017-07-19 4 views
0

私のpostgresデータベースのテーブルを変更する際に問題があります。私はpsycopg2を使い、Pythonから作業しています。私はシリアル主キーを追加しようとしました。それは長い時間(大きなテーブル)をとり、エラーを投げなかったので、それは何か何かをしたが、私がチェックに行ったとき、新しい列はそこになかった。psycopgを使用するとテーブルが変更されない

これは私が逃したばかげたものだと思っていますが、今私は完全な損失になっています。デバッグ中に私が試した

import psycopg2 
username = ***** 
password = ***** 
conn = psycopg2.connect(database='mydb',user=username,password=password) 
query = "ALTER TABLE mytable ADD COLUMN sid serial PRIMARY KEY" 
cur = conn.cursor() 
cur.execute(query) 
conn.close() 

その他のものは:私はPRIMARY KEYを削除すると

  • それは動作しません。
  • 別のデータ型を試しても機能しません。
+1

接続を閉じる前に 'conn.commit()'しようとしましたか? –

+1

セッションはおそらく自動コミットモードではありません。これを変更するか、変更を明示的にコミットする必要があります。 –

答えて

1

変更内容を表に反映させるには、コミット文を追加する必要があります。接続を閉じる前にこれを追加してください。

conn.commit() 
関連する問題