私はpsycopg2をpostgresqlに使用します。ここに私の抜粋です:postgresql pythonでタイムスタンプエラーを挿入します
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(),))
を、それが動作します。私はこれら2つの表現の違いは何か、最初のものは何が間違っているのかを知りたい。最初の構造を使用してこの機能を実行できますか?
最初はPython文字列置換を使用します。 2番目はPsycopgパラメータの受け渡しを使用し、唯一推奨される方法です。 –