我想按如下方式从 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()
查询返回数据库中除第一个 id (1) 之外的所有值。但是,我不希望它选择 id 1,2 或 3。
这可以使用 executemany 命令吗?
请您参考如下方法:
试试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()
我很想知道这是否有效 - 如果您尝试了请告诉我:)
