我正在尝试使用mysql-connector-python查询一个带有WHERE IN条件的表,如下所示:
ids = (12, 31)
cursor.execute("SELECT object_name FROM object_table WHERE object_id IN %s", ids)我得到了以下错误:
mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement我怎么才能让它工作呢?
发布于 2019-12-04 20:17:41
您应该将in中的"“添加为字符串,并且应将',‘替换为'%’
例如。
ids = "(12, 31)"
cursor.execute("SELECT object_name FROM object_table WHERE object_id IN %s" % ids)发布于 2019-12-04 20:26:54
查询应该是字符串格式的,所以您需要将变量ids = (12, 31)包装到一个类似ids = "(12, 31)"的字符串中,并且不要忘记在传递一些值时添加%而不是,。
ids = "(12, 31)"
cursor.execute("SELECT object_name FROM object_table WHERE object_id IN %s" % ids)发布于 2021-02-02 15:49:32
老答案,但可能对某些人有帮助
这就是我所做的,如果ids是一个列表,在这里可能会有所帮助。
query = "UPDATE tableName SET lspaasStatus = 1 WHERE CompletedQuizId IN " + "("+str(updatedQuizids)[1:-1]+")"
mycursor.execute(query)https://stackoverflow.com/questions/59175592
复制相似问题