使用pyscopg2和PostgreSQL将datetime插入数据库
我无法使用pyscopg2插入语句将日期时间戳插入到sql数据库中。
下面的代码所做的每次按下按钮时,都应该在包含buildingID(仅为文本)以及按钮按下时的日期和时间的数据库中插入一行。
我只是不知道如何插入当前的日期和时间。
# Inserts data into local database
def insertLocalDB():
# Open a cursor to perform database operations
cur = conn.cursor()
cur.execute("INSERT INTO test_table (buildingID,datetime) VALUES(%s,%s)",
("01", datetime)) #HAS TO BE CURRENT DATE AND TIME
# Make the changes to the database persistant
conn.commit()
# Close communication with the database
cur.close()
虽然您当然可以通过psycopg2将一个Python日期时间插入到一行中 - 但您需要创建一个设置为当前时间的datetime
对象,可以像这样完成,也可以通过Delorean等模块完成 - 因为您只需要当前时间,我会把它留给Postgres自己。
例如
def insertLocalDB():
# Open a cursor to perform database operations
cur = conn.cursor()
cur.execute("INSERT INTO test_table (buildingID,datetime) VALUES(%s, now() )",
("01", ))
# Make the changes to the database persistant
conn.commit()
# Close communication with the database
cur.close()
now()
将当前时间作为timestamp with time zone
类型的timestamp with time zone
返回,并且将在第一个%s
被psycopg2(通过libpq)替换01
之后在服务器端运行。
还要注意,args的元组必须有一个尾随逗号,因为它只有一个元素,否则它不会是实际的元组。
链接地址: http://www.djcxy.com/p/40919.html上一篇: Inserting datetime into database using pyscopg2 and PostgreSQL