![](/img/trans.png)
[英]Search SQL request with two tables on PostgreSQL. SQLAlchemy. Python
[英]Unable to convert string to timestamp on postgresql with sqlalchemy. I have tried all possible ways but nothing seems to work
我正在使用Postgresql作为数据库的Flask项目。 我有一个称为兴趣的模式,看起来像
create table interest(
usr int,
activity_category int,
activity_subcategory int,
pid int,
start_time timestamp,
end_time timestamp,
budget int check (budget >= 0),
primary key (usr, activity_category, activity_subcategory, pid, start_time, end_time),
foreign key (usr) references users(userid),
foreign key(pid, activity_category, activity_subcategory) references location(pid, aid, aaid)
);
我正在尝试将值插入兴趣表。 目前,我将开始时间和结束时间作为字符串,但是我想我需要以某种方式将它们转换为时间戳。 我已经尝试了这两种方法,但是它们都不起作用。
entry_by_location = g.conn.execute("insert into interest(usr, activity_category, activity_subcategory, pid, start_time, end_time, budget) values (%d, %d, %d, %d, to_timestamp(%s::text, 'YYYY-MM-DD HH:MI'), to_timestamp(%s::text, 'YYYY-MM-DD HH:MI'), %d)" %(int(uid), int(aaid), int(aid), int(pid), starttime, endtime, budget))
和
entry_by_location = g.conn.execute("insert into interest(usr, activity_category, activity_subcategory, pid, start_time, end_time, budget) values (%d, %d, %d, %d, %s::timestamp, %s::timestamp, %d)" %(int(uid), int(aaid), int(aid), int(pid), starttime, endtime, budget))
我得到的错误是-
ProgrammingError:(psycopg2.ProgrammingError)语法错误为“ 10” LINE 1或附近:... end_time,budget)值(1、2、7、1、2016-11-15 10:13 :: tim ... ^ [SQL:'插入兴趣值(usr,activity_category,activity_subcategory,pid,start_time,end_time,预算)值(1、2、7、1、2016-11-15 10:13 :: timestamp,2016-10-15 11 :24 :: timestamp,1000)']
我花了两天时间试图解决这个问题。 任何帮助将不胜感激。
谢谢!
在错误消息中,很明显,在10附近有一个错误。 也就是说,由于日期和时间之间存在空格,因此sql无法识别2016-11-15 10:13的数据类型。
因此,在%s
添加引号将解决'%s'
类的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.