簡體   English   中英

使用Python 3從Mysql檢索和選擇二進制值

[英]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) """

然后,您可以僅將queryresults傳遞給execute() (或適當的)方法,以便正確地對results進行參數化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM