光标.执行具有

2024-05-26 11:55:55 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我尝试使用光标.执行在哪里

cid = data[key]['customerid']
name = data[key]['name']
bdate = data[key]['birthdate']
ffon = data[key]['frequentflieron']

curs.execute("INSERT INTO customers (c,n,b,f) VALUES (%s,%s,%s,%s)) WHERE NOT EXISTS (Select 1 FROM customers WHERE customerid = (c) VALUES (%s));",(cid,name,bdate,ffon,cid))

试过了

^{pr2}$

我现在得到了这个错误

   Traceback (most recent call last):
File "psy.py", line 44, in <module>
  custinfo(data,key)
File "psy.py", line 28, in custinfo
  where customerid = %s);""",(cid,name,bdate,ffon,cid))
psycopg2.ProgrammingError: syntax error at or near "WHERE"
LINE 2: ...ust1000','XYZ','1991-12-06','Southwest Airlines') WHERE NOT ...

如何同时使用where子句执行insert?在


Tags: keynamepydatalinenotwherefile
1条回答
网友
1楼 · 发布于 2024-05-26 11:55:55

占位符后面有一个额外的右括号,您的子查询需要一些修饰。试试看:

curs.execute("""INSERT INTO customers (c,n,b,f) 
                VALUES (%s,%s,%s,%s) WHERE NOT EXISTS (
                    Select 1 
                    FROM customers 
                    where customerid = %s);""",(cid,name,bdate,ffon,cid))

嗯,也许那个语法是非法的。试试这个:

^{pr2}$

相关问题 更多 >