有效使用 WHERE IN 語句
WHERE IN 語句對於根據指定值集匹配記錄至關重要。然而,正確構建它可能具有挑戰性。
如果您嘗試使用:
WHERE obj IN (?)
如果提供的值的數量與參數的數量不匹配,您可能會遇到錯誤。要解決此問題:
statement = "SELECT * FROM tab WHERE obj IN ({0})".format(', '.join(['?'] * len(list_of_vars))) c.execute(statement, list_of_vars)
在此方法中,我們使用「.join()」和「.format()」動態產生具有正確數量的參數佔位符的語句。
或者,為了更有效地處理大型變數列表,請考慮使用臨時表。將臨時表與主表連接起來,而不是使用帶有綁定參數的 IN 子句。此優化可透過減少所需的資料庫綁定數量來提高效能。
以上是如何有效使用具有多個值的 WHERE IN 語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!