[英]Retrieving and selecting binary values from Mysql with Python 3
我試圖從一個表中選擇數據,並使用從第一個表返回的值對另一個表執行查詢。
這兩個表都區分大小寫,並且類型為utf8-bin。
當我執行第一次選擇時,我返回一個二進制值的元組:
query = """SELECT id FROM table1"""
results = (b'1234', b'2345', b'3456')
然后,我想使用從table1返回的ID對table2執行查詢:
query = """SELECT element FROM table2 WHERE id IN (%s) """ % results
這是正確的方法嗎?
您需要創建查詢,以便可以對其進行適當的參數化:
query = """SELECT element FROM table2 WHERE id IN (%s) """ % ",".join(['%s'] * len(results))
這會將查詢轉換為:
query = """SELECT element FROM table2 WHERE id IN (%s,%s,%s) """
然后,您可以僅將query
和results
傳遞給execute()
(或適當的)方法,以便正確地對results
進行參數化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.