这两个函数都不能按预期那样正常工作:
cursor.execute(q, str(predstavnik_id))
cursor.execute(q, str(stan_id))
cursor.execute
函数的第二个参数 应该接受一个序列类型的参数。
请注意,cursor.execute(q, str(predstavnik_id))
并不是以 str(predstavnik_id)
作为唯一参数执行的:cursor.execute
被定义为接收一个序列,而 str(predstavnik_id)
是一个字符序列。您可能本意是要这样写:cursor.execute(q, (str(predstavnik_id), ))
(注意括号表示元组),其中 str(predstavnik_id)
是该序列中的唯一元素。
另一个函数也存在相同的问题。
理论上讲,如果这些字符串长度不为1个字符,Python 应该会抛出 RuntimeError
异常。但如果您的 id
值是较小的整数(小于10),则这段代码可能会侥幸“正常工作”(tm),而您并不会注意到这个bug。