我使用psycopg2来连接postgresql数据库。以下是我的代码片段:
a = "INSERT INTO tweets (Time) VALUES (%s);" % (datetime.now(),)
cursor.execute(a)
这样做是行不通的,会报错:
ProgrammingError: syntax error at or near "20"
LINE 1: INSERT INTO tweets (Time) VALUES (2016-10-03 20:14:49.065092...
然而,如果我以这种方式运行:
cursor.execute("INSERT INTO tweets (Time) VALUES (%s);", (datetime.now(),))
它可以工作。我想知道这两个表达式之间的区别,以及第一个表达式有什么问题。我能使用第一种结构来执行此函数吗?