web-dev-qa-db-ja.com

Pythonを使用してPostgreSQLデータベースでINSERTを使用する

Pythonを使用してPostgreSQLデータベーステーブルにデータを挿入しようとしています。構文エラーは表示されませんが、何らかの理由で、データがデータベースに挿入されません。

conn = psycopg2.connect(connection)
cursor = conn.cursor()
items = pickle.load(open(pickle_file,"rb"))

for item in items:
    city = item[0]
    price = item[1]
    info = item[2]

    query =  "INSERT INTO items (info, city, price) VALUES (%s, %s, %s);"
    data = (info, city, price)

    cursor.execute(query, data)
34
Ching Chong

トランザクションをコミットする必要があります。

conn.commit()

トランザクションが失敗すると考える理由がない場合は、forループの終了後にコミットする方が高速です。

40
GuillaumeDufay