我在python代码中执行更新查询时遇到此错误

2024-05-29 11:58:56 发布

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

代码:-

upd=(f"update order_tb set ('name=:{self.name.get()}','contact=:{self.contact.get()}','address=:{self.address.get()}','store=:{self.combo_store.get()}','groceries=:{self.groceries.get()}','{O_ID}',where o_id=:O_ID")
cur.execute(upd) 

错误:-

cx_Oracle.DatabaseError: ORA-01747: invalid user.table.column, table.column, or column specification                                                                                                  

Tags: store代码nameselfidgetaddresstable
1条回答
网友
1楼 · 发布于 2024-05-29 11:58:56

使用f字符串向Oracle发送如下语句(简化)

update order_tb set ('name=:X1','contact=:X2','address=:X3','store=:X4','groceries=:X5','o_id',where o_id=:O_ID 

这确实会导致SQL Error: ORA-01747: invalid user.table.column, table.column, or column specification,因为您完全违反了有效的UPDATE语法

您可能的意图与下面的语句类似(不确定您对部分'{O_ID}'的意图)

update order_tb set  name=:X1, contact=:X2, address=:X3, 
                     store=:X4, groceries=:X5 
where o_id=:O_ID

因此,generall建议是在执行UPDATE语句之前打印它,并检查语法

相关问题 更多 >

    热门问题