我試圖將一個整數,一個字符串和一個列表作爲單個記錄插入到數據庫中,但是正在引發錯誤。TypeError:在使用參數插入時,並非所有在字符串格式化過程中轉換的參數
這裏是我的代碼:
values=nprnd.randint(10, size=48) #NUMPY ARRAY
valuelist= map(None, values); #Convert to list
guid=''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(20)) #Generate guid
for x in range(4):
var_string = ', '.join('?' * 48)
valuelist.insert(0,x)
valuelist.insert(0,ent_guid)
#50 coloums in table, guid, x and 48 randomly generated values
query_string = 'INSERT INTO schema1 VALUES (%s,%d,%s);' % (guid, x, var_string)
cursor.execute(query_string, valuelist)
我不斷收到一個錯誤說:
Traceback (most recent call last):
File "script.py", line 19, in <module>
cursor.execute(query_string, valuelist)
File "/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/MySQLdb/cursors.py", line 184, in execute
query = query % db.literal(args)
我知道這個錯誤的原因(即使如此,對相同的錯誤了幾個問題)但沒有我嘗試瞭解決方案已經解決了這個錯誤,我
任何幫助,將不勝感激
如果你需要生成一個GUID,你應該真的使用UUID模塊......它就是爲了這個目的。我建議'從uuid導入uuid4; guid = uuid4()。hex' – Endophage 2013-04-23 15:10:23
與我目前的問題無關,但感謝您的提示! :) – navinpai 2013-04-23 15:11:21
@navinpal確實是這樣,但看到我的答案爲可能的解決方案:-) – Endophage 2013-04-23 15:14:15