2015-10-18 63 views
0

我有這個小查詢:Python的MySQL的連接器選擇具有可變

id = 'TESTID' 
sql = "SELECT ID,PASSWORD FROM USERS WHERE ID = %s" 
cursor.execute(sql,(id)) 

,我有錯誤:

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 'TESTID''' at line 1 

我知道這是一些關於雙引號。我已經運行完美多個其他查詢,但他們有這樣3個參數

例如:

id = 'TESTID' 
GR = 'TEST' 
name = 'HELLO' 
last_name = 'WORLD' 
sql = "INSERT INTO USERS (ID,GR,name,last_name) VALUES (%s,%s,%s,%s)" 
cursor.execute(sql,(id,gr,name,last_name)) 

這一次沒有在一開始3雙引號和3人在年底和運行完美所以我現在不知道該怎麼做。

謝謝你。

+0

嘗試'sql =「選擇ID,密碼從用戶身份證號=?」 –

回答

1

python中應該記住的一件事是(7)7相同。對於長度爲1的元組,您必須說(7,)(注意重要的尾隨逗號)。

所以改變這條線: cursor.execute(sql,(id))cursor.execute(sql,(id,))