【发布时间】:2021-06-05 08:18:51
【问题描述】:
插入多行时是否可以使用 Redshift 函数 GETDATE() 和 psycopg2.extras.execute_values?
df = pd.DataFrame(data={
'ExampleID' : list(range(1,6)),
'NumericField' : list(range(44,49)),
'UpdateTime' : list('GETDATE()' for i in range(5))
})
conn = psycopg2.connect(dbname=database, host=host, port=5439, user=username, password=password)
cursor = conn.cursor()
v = df.to_records(index=False).tolist()
q = sql.SQL('INSERT INTO tblexample (ExampleID, NumericField, UpdateTime) VALUES %s')
execute_values(cursor, q.as_string(cursor), v)
conn.commit()
不幸的是,这引发了一个异常:
psycopg2.DataError: invalid input syntax for type timestamp: "GETDATE()"
【问题讨论】:
标签: amazon-redshift psycopg2 bulkinsert