試圖通過Python運行MySQL腳本,它不斷給我錯誤。這是我的MySQL:獲取MySQL錯誤
c.execute("""INSERT into DATA(checkup_date)
VALUES(%s) WHERE machine_name = %s
""", (date, machine))
我在做什麼錯?
ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE machine_name = 'TL-D04'\nVALUES('2011-11-11')' at line 2")
粘貼錯誤,請 – Alfabravo
@JimGarrison:'%s'語法是MySQLdb中參數化SQL的工作原理。尤其要注意'%s'周圍缺少引號。請執行Google搜索MySQLdb文檔,然後放棄您的評論。 –
檢查_mysql的源代碼使我相信C API不使用預準備語句,因此容易受到SQL注入的影響。它似乎沒有可以使用Python MySQLDB API來避免它。唉...... –