我想从MySQL中选择值如下
do_not_select = [1,2,3]
cursor = database.cursor()
cursor.executemany("""SELECT * FROM table_a WHERE id != %s""",(do_not_select))
data = cursor.fetchall()
查询返回db中的所有值,形成第一个id(1)。我不希望它选择id 1,2或3。
这是否可以使用executemany命令..?
答案 0 :(得分:1)
给NOT IN
一个去:
do_not_select = [1, 2, 3]
cursor.execute("""SELECT * FROM table_a
WHERE id NOT IN ({}, {}, {})""".format(do_not_select[0],
do_not_select[1],
do_not_select[2]))
data.cursor.fetchall()
我怀疑(虽然我没有测试过这个)这会更好用id do_not_select是一个元组,然后我想你可以直接把它发送到你的查询中:
do_not_select = (1, 2, 3)
cursor.execute("""SELECT * FROM table_a
WHERE id NOT IN {}""".format(do_not_select))
data.cursor.fetchall()
我很想知道这是否有效 - 如果你试试,请告诉我:)。