mysql.connector选择具有二进制值的查询

时间:2014-07-08 13:10:02

标签: python mysql mysql-connector-python

使用Python的mysql.connector,如何选择与元组匹配的所有记录?

例如:

ids = (b'6TRsHMzWSrq0zeembo0Vbg',
       b'7Qoq53lKTk-RZOi830t3MA', 
       b'7ZGO9S3DTcGHjwrfpV0E0A')

然后查询将执行以下操作:

query = SELECT first_name
        FROM users
        WHERE id = (ids)

为ID出现在元组中的所有用户返回记录

1 个答案:

答案 0 :(得分:1)

尝试这样做

query = "SELECT first_name FROM users WHERE id IN " + str(list(ids))
cursor.execute(query)

再想一想,以下内容也应该有效

query = "SELECT first_name FROM users WHERE id IN " + str(ids)

修改

OP在评论中提到id是从先前查询返回的二进制数据。在这种情况下,从this answer获取提示并使用BINARY运算符,以下查询应该可以正常工作

query = "SELECT first_name FROM users WHERE BINARY id IN " + str(ids) ;