使用清單建立安全的 MySQL IN 子句
使用 MySQL 資料庫和 Python 時,內爆一個清單以在IN 子句。但是,安全地執行此操作對於防止 SQL 注入漏洞至關重要。
與其手動建構包含值清單的字串,首選方法是使用查詢參數機制。這允許您將列表直接傳遞給資料庫驅動程序,而無需處理任何引用或轉義。
以下是實現此目的的方法:
format_strings = ','.join(['%s'] * len(list_of_ids)) cursor.execute("DELETE FROM foo.bar WHERE baz IN (" + format_strings + ")", tuple(list_of_ids))
透過使用此方法,您可以透過允許 MySQL 處理查詢的參數化來避免 SQL 注入。資料將直接插入查詢中,無需任何預處理,確保安全性和效率。
以上是如何在 Python 中安全地建立帶有列表的 MySQL IN 子句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!