2014-02-19 91 views
0

由於某些原因,我無法將數據插入到mysql表中的多個列中。只要我插入到第一列(任何列),我發現很難插入到其他列。 我注意到,插入到第一列之後,在第二列中,插入從它在第一列中結束的點開始,但在第二列中開始。我嘗試插入第三列,但沒有插入發生。將數據插入到python的MySQL表中的多個列中

見下面我的代碼:

week1=xrange(1,101,1) #for column1 
week2=xrange(1,101,1)#for column2 

cur.executemany("INSERT INTO stud(classID) VALUES(%s)", [(x,) for x in week1]) 

db.commit() 

預先感謝您的建議。

+0

您正在使用哪個MySQL庫?你讀過[PEP 249](http://www.python.org/dev/peps/pep-0249/)嗎? – Tupteq

+0

嗨@Tupteq,我使用MySQL-python 1,2,3連接器。我沒有讀過PEP。 – Tiger1

+0

然後我想你應該從閱讀PEP開始。它應該回答這個問題以及許多其他的問題。 – Tupteq

回答

1

您必須製作兩列的列表;如果你的兩列由兩個獨立的iterables到來,使用zip()加入他們的行列:

week1 = xrange(1, 101) #for column1 
week2 = xrange(1, 101) #for column2 

cur.executemany("INSERT INTO stud (classID, othercolumn) VALUES(%s, %s)", zip(week1, week2)) 
db.commit() 

zip(week1, week2)產生的元組的序列;每一個取自兩個輸入序列的一對值:[(week1[0], week2[0]), (week1[1], week2[1]), ...]

+0

嗨@Martijn,非常感謝你,你的解決方案非常完美。 – Tiger1

+0

@ Tiger1:很高興有幫助! –

+0

在你走之前還有一個問題,我怎樣才能將行限制擴展到1000以上? – Tiger1

相關問題