[英]SQL/Python3/6 UPDATE with LIKE and wildcard
如何在“incident_id”列類似於“inc”的情況下更新 mytable 的“num”值
我嘗試更改為 LIKE '%%%S%%' 但出現錯誤,正確的方法是什么?
num = "I-102930"
inc = "hdtff-dd24r-sdft4-sfgg"
cur = conn.cursor()
num = str(inc_num)
inc = inc_id
sql = """ UPDATE mytable SET incident_num =%s WHERE incident_id LIKE %s """
val = (num, inc)
cur.execute(sql, val)
正確的方法是使用?
您傳遞的參數的占位符並在查詢中連接'%'
通配符:
sql = "UPDATE mytable SET incident_num = ? WHERE incident_id LIKE CONCAT('%', ?, '%')"
val = (num, inc)
cur.execute(sql, val)
CONCAT()
是 MySql 連接字符串的方法。
一種更通用的與數據庫無關的方法是將通配符連接到變量inc
:
sql = "UPDATE mytable SET incident_num = ? WHERE incident_id LIKE ?"
val = (num, "%" + inc + "%")
cur.execute(sql, val)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.