我正在尝试将数据插入到之前使用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)""")
表格由五列以上创建。
答案 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))