mysql-connector-python 使用 WHERE IN 查询
mysql-connector-python query with WHERE IN
我正在尝试使用 mysql-connector-python 查询具有 WHERE IN 条件的 table,如下所示:
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
我怎样才能让它工作?
您应该在 ids 中添加 "" 以成为字符串,并且 ',' 应该替换为 '%'
例如
ids = "(12, 31)"
cursor.execute("SELECT object_name FROM object_table WHERE object_id IN %s" % ids)
查询应采用字符串格式,因此您需要将变量 ids = (12, 31)
包装成类似 ids = "(12, 31)"
的字符串,并且
也不要忘记在传递一些值时添加 %
而不是 ,
。
ids = "(12, 31)"
cursor.execute("SELECT object_name FROM object_table WHERE object_id IN %s" % ids)
旧答案但可能对某人有帮助
这就是我所做的,如果 ids 是一个列表,它在这里可能会有所帮助。
query = "UPDATE tableName SET lspaasStatus = 1 WHERE CompletedQuizId IN " + "("+str(updatedQuizids)[1:-1]+")"
mycursor.execute(query)
我正在尝试使用 mysql-connector-python 查询具有 WHERE IN 条件的 table,如下所示:
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
我怎样才能让它工作?
您应该在 ids 中添加 "" 以成为字符串,并且 ',' 应该替换为 '%'
例如
ids = "(12, 31)"
cursor.execute("SELECT object_name FROM object_table WHERE object_id IN %s" % ids)
查询应采用字符串格式,因此您需要将变量 ids = (12, 31)
包装成类似 ids = "(12, 31)"
的字符串,并且
也不要忘记在传递一些值时添加 %
而不是 ,
。
ids = "(12, 31)"
cursor.execute("SELECT object_name FROM object_table WHERE object_id IN %s" % ids)
旧答案但可能对某人有帮助
这就是我所做的,如果 ids 是一个列表,它在这里可能会有所帮助。
query = "UPDATE tableName SET lspaasStatus = 1 WHERE CompletedQuizId IN " + "("+str(updatedQuizids)[1:-1]+")"
mycursor.execute(query)