gpt4 book ai didi

python - Python 中 mysqldb 模块的 MySQL UPDATE 语法问题

转载 作者:行者123 更新时间:2023-11-29 15:05:39 24 4
gpt4 key购买 nike

我正在尝试通过 python 中的 mysqldb 模块执行以下查询:

对于 self.p.parameter_type 中的 i: cursor.execute("""更新参数 SET %s = %s WHERE parameter_set_name = %s"""% (i, float(getattr(self.p, i)), self.list_box_parameter.GetStringSelection()))

我不断收到错误:“‘where 子句’中存在未知列‘M1’”。我想用值 getattr(self.p, i) 更新列 i,但仅限于列parameter_set_name 等于 self.list_box_parameter.GetStringSelection() 的行。该错误表明我的查询正在 WHERE 子句中查找名为“M1”的列。为什么上述查询不正确?如何更正?

最佳答案

我现在明白了,我认为您需要将parameter_set_name = %s括在引号中,例如:

parameter_set_name = "%s"

否则它会尝试访问 M1 列

所以:

cursor.execute("""UPDATE parameters SET %s = %s WHERE parameter_set_name = \"%s\" """ % (i, float(getattr(self.p, i)), self.list_box_parameter.GetStringSelection()))

关于python - Python 中 mysqldb 模块的 MySQL UPDATE 语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2171072/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com