我必須從python刪除一些日期從mysql。 我有超過2000年的表。所以,我需要完成此代碼...我不能通過單擊我的鼠標來處理這一點。我真的需要幫助。python- mysql錯誤當我使用%s執行
好,我的猜測是這樣
sql ="delete from finance.%s where date='2000-01-10'"
def Del():
for i in range(0,len(data_s)):
curs.execute(sql,(data_s[i]))
conn.commit()
Howerver,這是行不通的。
我只是 當我只是這樣鍵入,它的作品。
>>> query="delete from a000020 where date ='2000-01-25'"
>>> curs.execute(query) //curs=conn.cursor()
但是,如果我添加%s到語法,它不工作..
>>> table='a000050'
>>> query="delete from %s where date ='2000-01-25'"
>>> curs.execute(query,table)
ProgrammingError: (1064, u"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 ''a000050' where date ='2000-01-25'' at line 1")
它不工作過。
>>> curs.execute(query,(table))
ProgrammingError: (1064, u"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 ''a000050' where date ='2000-01-25'' at line 1")
有點不同......但是相同。
>>> curs.execute(query,(table,))
我看了從這裏的許多問題,但僅僅通過增加(),或不固定的... 因爲我對Python和MySQL的初學者,我真的需要你的幫助。謝謝你的閱讀。
錯誤消息告訴你,你的'table' var已經插入到用引號'''括起來的字符串中。這可能是通過'curs.exe.exe()'函數完成的,以避免注入問題,但是如果以編程方式執行,則可以在將字符串傳遞給函數之前對其進行格式化。 – jbndlr