首頁  >  文章  >  資料庫  >  如何修正Python MySQL更新語句中的錯誤?

如何修正Python MySQL更新語句中的錯誤?

Linda Hamilton
Linda Hamilton原創
2024-11-09 14:32:02754瀏覽

How to Correct Errors in Python MySQL Update Statements?

修正Python MySQL 更新語句中的錯誤

使用Python 更新MySQL 資料庫中的資料更新時,確保語法正確至關重要語句。考慮以下帶有變數的語句:

cursor.execute ("UPDATE tblTableName SET Year=%s" % Year ", Month=%s" % Month ", Day=%s" % Day ", Hour=%s" % Hour ", Minute=%s" Minute "WHERE Server=%s " % ServerID)

此語句包含多個可能導致不正確更新的錯誤。正確的方法如下:

cursor.execute ("""
   UPDATE tblTableName
   SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s
   WHERE Server=%s
""", (Year, Month, Day, Hour, Minute, ServerID))

在此修改後的語句中:

  • 佔位符值 (%s) 作為元組的一部分包含在 SQL 查詢中。這種方法可以防止 SQL 注入漏洞。
  • SQL 語法遵循在一個語句中更新多列的正確約定。

或者,您可以對更新命令使用基本字串操作,如下所示如下所示:

cursor.execute ("UPDATE tblTableName SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s WHERE Server='%s' " % (Year, Month, Day, Hour, Minute, ServerID))

但是,不鼓勵使用此方法,因為它會使程式碼容易受到SQL 注入攻擊。

為了消除跨不同資料庫後端的字串替換約定的任何潛在問題,建議使用第一種方法。

以上是如何修正Python MySQL更新語句中的錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn