去掉for 循环 传入一个值的时候也是同样的报错。因为有很多条数据需要删除 for循环应该怎么写的 用delete from table_name where key in keylist 也是报错
‘key_value’改成key_value,否则会被当作字符串而不是变量
def execute(self, query, args=None):
"""Execute a query
:param str query: Query to execute.
:param args: parameters used with query. (optional)
:type args: tuple, list or dict
:return: Number of affected rows
:rtype: int
If args is a list or tuple, %s can be used as a placeholder in the query.
If args is a dict, %(name)s can be used as a placeholder in the query.
"""
可以看到第二个变量支持的类型有: tuple, list or dict, 兄弟尼传参有问题。
1、‘key_value’改成key_value,再看报错内容
2、key_value 的内容是字符? 如果是字符,sql有问题 ,应该是 key = '%s'
这个问题已经解决
首先“key_value ”确实应该是key_value
但是依旧是存在问题。因为关于数据库中字段名key,它是mysql的保留字,需要用反引号把它引起来‘key’
但是接下来就出现了代码执行不报错 数据库没有反映的问题 后里就把字段名key换成了其他的非保留字 就成功了。
非常