Untuk menggunakan metode eksekusi, tempatkan data yang akan dimasukkan ke dalam daftar. Daftar akan diadaptasi oleh psycopg2 ke array. Kemudian Anda menghapus sarang array dan memberikan nilai seperlunya
import psycopg2
insert = """
insert into history ("timestamp")
select value
from unnest(%s) s(value timestamp)
returning *
;"""
data = [('2014-04-27 14:07:30.000000',), ('2014-04-27 14:07:35.000000',)]
conn = psycopg2.connect("host=localhost4 port=5432 dbname=cpn")
cursor = conn.cursor()
cursor.execute(insert, (data,))
print cursor.fetchall()
conn.commit()
conn.close()
Tidak yakin apakah perbedaan kinerja dari executemany akan signifikan. Tapi menurut saya di atas lebih rapi. returning
klausa akan, seperti namanya, mengembalikan tupel yang dimasukkan.
BTW timestamp
adalah kata yang dicadangkan dan tidak boleh digunakan sebagai nama kolom.