簡體   English   中英

為什么我在python中收到SQL語法錯誤

[英]Why am I getting a SQL Syntax Error in python

嗨,我正在嘗試將一些數據插入MySQL數據庫。 但是,我一直從MySQL.connector中收到語法錯誤。 我不確定是什么原因造成的,我已經嘗試了mysql網站上的所有示例,但沒有一個起作用。 我可以在其他網站的舊網絡服務器上使用此功能,但現在不起作用。

我的代碼是(ID是由30個大寫字母和數字組成的字符串,而UserID是由20個數字組成的字符串):

sql = '''INSERT INTO LoginSessions(SessionID,UserID) VALUES({0},{1})'''.format(ID,UserID)
cursor.execute(sql)

這是我不斷得到的錯誤:

<class 'mysql.connector.errors.ProgrammingError'>: 1064 (42000): 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 ''ORPFDQE0CKYVY1LN0RPW',))' at line 1 

感謝您的任何幫助。 非常感謝它困擾了我幾個小時。 我已經嘗試了所有我可能知道的事情,並將放棄!

您不應該使用format創建sql命令,使用占位符,那么就不必擔心ID的類型已正確編碼:

sql = '''INSERT INTO LoginSessions(SessionID,UserID) VALUES(%s,%s)'''
cursor.execute(sql, (ID,UserID))

暫無
暫無

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

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