我搜索了很多,如果有人可以将我链接到解决方案或回答我的查询,那将是很棒的.问题是我有一个包含大量单引号的postgresql表,我无法弄清楚如何摆脱它们,因为显然这
update tablename set fieldname= NULL where fieldname=' ;
Run Code Online (Sandbox Code Playgroud)
不会工作.
我正在尝试使用Psycopg2将datetime值插入到我的postgres数据库中。
我的代码以前可以运行,但是我从%s表示法切换为{}表示法,并且代码中断了。
这是我的代码
for j in eveLists.itemList:
tempPrice = fetchSellPrice(i, j)
database_name = eveLists.DatabaseDict[i]
now = datetime.datetime.utcnow()
cur.execute("INSERT INTO {0} VALUES ({1}, {2}, {3}, NULL, {4}, {5}, NULL);".format(
database_name,
str(i),
str(j),
float(tempPrice),
datetime.date.today(),
now))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
psycopg2.ProgrammingError: syntax error at or near "00"
LINE 1: ...0000142, 2268, 3.11, NULL, 2017-05-09, 2017-05-10 00:40:03.3...
^
Run Code Online (Sandbox Code Playgroud)
它将日期和时间视为两个单独的对象。
我尝试了几种被注释掉的不同方式,并且都抛出了各种错误消息。我试过将日期时间用引号引起来,
now = ("'%s'") % str(datetime.datetime.utcnow())
Run Code Online (Sandbox Code Playgroud)
给出一个错误
psycopg2.ProgrammingError: column "mydate" is of type date but expression is of type integer
LINE 1: ...NTO temp_jita VALUES (30000142, 2268, …Run Code Online (Sandbox Code Playgroud)