使用python时Postgresql插入数据错误

时间:2016-06-20 20:09:30

标签: python postgresql jenkins

我正在尝试将数据插入到之前使用python脚本创建的表中。这是我试图执行的代码。我想将数据插入到包含日期的表中。

date_today = dt.date.today()

conn = psycopg2.connect(host = serverip, port = port, database = database,    user = uid, password = pwd)
cursor = conn.cursor()

cursor.execute("INSERT INTO My_TABLE (Date, Class, Total_students, failed_students, Percent_passed_students) VALUES (date_today, 'Class Name', int1, int2, int3)")

print "Data Inserted successfully"
conn.commit()
conn.close()

这是我从工作中看到的错误。我在这里失踪了什么?

psycopg2.ProgrammingError: column "date_today" does not exist

我使用以下查询使用不同的作业创建了表:

cursor.execute("""CREATE TABLE MY_TABL(Date date, Lob varchar(30), Total_Students int, failed_students int, Percent_passed_students int)""")

表格由五列以上创建。

1 个答案:

答案 0 :(得分:3)

这一行:

cursor.execute("INSERT INTO My_TABLE (Date, Class, Total_students, failed_students, Percent_passed_students) VALUES (date_today, 'Class Name', int1, int2, int3)")

将值动态插入数据库的方法是否正确。

这是一个功能正确的例子:

cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))

并将其应用于您的案例......

cursor.execute("INSERT INTO My_TABLE VALUES (%s, %s, %s, %s, %s)", (date_today, 'Class Name', int1, int2, int3))