首页 > 解决方案 > 使用 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 <...

关于如何解决这个问题的任何建议?

标签: pythonsqlpostgresql-9.6

解决方案


推荐阅读