我想打乱postgres(插入或更新)
如果表中不存在user_id,我想插入一行,其中user_id = user_id,first_date = date,last_date = date。但是如果用户已经存在,我只想用日期更新last_date。
我遇到错误,因此尝试使用以下方法简化插入操作:
pd.read_sql("INSERT INTO table (user_id, first_date, last_date)
VALUES ( "+str(user_id)+", '"+date+"','"+date+"')
ON CONFLICT (user_id)
DO NOTHING", conn)
但是我收到此错误“ TypeError:'NoneType'对象不可迭代”
我不明白是怎么回事...
我正在使用Jupyter和Postgres v11
答案 0 :(得分:0)
read_sql期望查询返回数据。您的B&
没有。
您可以使用执行功能the documentation:
INSERT
,或者您可以在查询中添加from pandas.io import sql
sql.execute('INSERT INTO table_name VALUES(?, ?, ?)', engine,
params=[('id', 1, 12.2, True)])
子句。 See the excellent postgresql documentation。