2015-12-16 60 views
1

我試圖增加行MySQL數據庫這樣增量行的MySQL的Python

rows = cursor.fetchall() 

i = 0 
for row in rows: 
    cursor.execute("UPDATE Table SET order = %s WHERE name = 'JAMES'", (i,)) 
    db.commit() 
    i += 1 

但最後爲了使所有的項目是19,和rows的長度是20怎樣纔可以有它從0到19的形式,我雖然如果我在每個循環後commit()這將解決?

感謝

+0

沒有where子句,UPDATE語句會更新所有記錄。 – falsetru

+0

@falsetru它那裏生病添加它到我只是偶然地離開它的問題 – iqueqiorio

+0

它總是'詹姆斯'?然後,相同的記錄將被多次更新。 – falsetru

回答

2

也許你的意思是這樣的(對於行WHERE子句變化):

rows = cursor.fetchall() 
for i, row in enumerate(rows): 
    cursor.execute("UPDATE Table SET order = %s WHERE name = %s", (i, row.name)) 
    db.commit() 

否則,order領域或一個記錄被更新多次。