python - 使用 2 where 条件将记录插入 postgres 数据库
问题描述
我正在尝试根据是否存在具有相同 ID 和 DATE 的记录来将数据插入表中。我已将代码放在一个循环中,该循环对 students_present 变量中的每条记录执行插入查询。这是代码
for ID in students_present:
STUDENTID = 'SELECT STUDENTID FROM encodings WHERE STUDENTID = ID'
STUDENTNAME = 'SELECT STUDENTNAME FROM encodings WHERE STUDENTID = ID'
STUDENTEMAIL = 'SELECT STUDENTEMAIL FROM encodings WHERE STUDENTID = ID'
insert_script = "INSERT INTO meeting1(STUDENTID, STUDENTNAME, STUDENTEMAIL, MEETINGDATE, MEETINGTIME) WHERE ID IN STUDENTID AND MEETINGDATE <> GETDATE() VALUES ('{}','{}','{}','GETDATE()','CURRENT_TIMESTAMP')".format(STUDENTID, STUDENTNAME, STUDENTEMAIL)
cur.execute(insert_script)
我相信我的错误来自我编写条件的方式,因为它反映了这个错误:
syntax error at or near "WHERE"
LINE 1: INSERT INTO meeting1 WHERE ID IN STUDENTID AND MEETINGDATE <...
关于如何解决这个问题的任何建议?
解决方案
推荐阅读
- assembly - 在 x64 中调用绝对地址
- mysql - 从“where”条件自动生成 MYSQL 列
- python - 在python中使用变量创建一个txt文件
- php - SUT parent 使用 get_class 检查依赖项
- google-places-api - Google Places API - 我可以分离出输出吗?
- csv - 如何从csv文件读取数据并保存到数据库以及spring boot中的多对多关系
- java - Apache 客户端 http/1.1 406 不可接受 Java
- bash - 如何从 curl 资源添加别名
- sccm - Gsview 6.0 创建 SCCM 包的选项
- go - 使用 Go 的 time.Format 时转义数字