2

次のように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 コマンドを使用して可能ですか?

4

1 に答える 1

2

試してみてください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()

これが機能するかどうか知りたいです-試したら教えてください:)

于 2013-08-17T23:30:19.793 に答える