x = self.npprocess_PTE.text()
y = 123
if len(self.npprocess_PTE.text()) == 0:
print("yes")
else:
model = QtGui.QStandardItemModel()
self.npprocessview_LV.setModel(model)
z = model.rowCount()
z = z + 1
a = str(z)+'_Process'
b = "INSERT INTO new_part_info(%s) VALUES(%s) WHERE Part_ID = %s"
c = (z, x, y)
mycursor.execute(b, c)
mydb.commit()
我得到的错误:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,了解在'1)附近使用的正确语法值('WB'),其中第 1 行的 Part_ID = 123'
我可以在您的插入查询中看到两个错误:
-
正如其他人指出的那样,
insert
声明没有where
条款。要么你需要摆脱它,要么你需要将insert
更改为update
.但是,这不是导致错误消息的错误。 -
您可以使用
z
变量作为插入的列的名称。z
是一个数字。正如关于对象标识符的mysql手册所说:
标识符可以以数字开头,但除非引用,否则不能仅由数字组成。
因此,您需要引用z
中的值:
w = '`' + str(z) + '`'
然后在执行insert
时使用w
而不是z
。或者,您需要使用a
变量而不是z
,因为它被创建为:
a = str(z)+'_Process'
实际上,这取决于表中列的名称。