2012-03-21 12 views
5

अपडेट नहीं करता मैं निम्नलिखित कोड है:SQLite अजगर तालिका

import sqlite3 

con = sqlite3.connect("testDB") 
cur = con.cursor() 

#cur.execute('CREATE TABLE test_table (id integer primary key, data text)') 
cur.execute('INSERT INTO test_table VALUES (?, ?)', (76, 'MyData')) 

जब मैं इस स्क्रिप्ट को चलाने यह तालिका अपडेट नहीं होता। लेकिन जब मैं लिनक्स में sqlite3 कमांडलाइन का उपयोग कर एक ही प्रविष्टि करता हूं, तो यह अद्यतन होता है। ऐसा क्यों है या कुछ भी गलत है?

उत्तर

10
# Save (commit) the changes 
con.commit() 
+0

con.commit() यह सब कुछ खत्म होने के बाद किया जाना चाहिए, या मैं प्रत्येक con.execute() कथन के बाद प्रतिबद्ध कर सकता हूं ??? – user873286

+0

यदि कोई अन्य प्रोग्राम तुरंत डेटा देखना चाहता है, तो आपको तुरंत प्रतिबद्ध करना चाहिए। अन्यथा आप अंत में प्रतिबद्ध कर सकते हैं। – kev

1

क्या आपने सम्मिलित खंड के बाद आने का प्रयास किया था?

+0

con.commit() काम लेकिन con.commit() यह सब कुछ खत्म होने के बाद किया जाना चाहिए, या मैं प्रत्येक con.execute() कथन के बाद प्रतिबद्ध कर सकता हूं ??? प्रतिबद्धता का मुख्य उद्देश्य क्या है? – user873286

+0

'प्रतिबद्ध' आपकी तालिका में सभी बदलावों को खत्म करना है ... लेकिन यदि आप पिछली स्थिति में वापस चाहते हैं तो आप 'रोलबैक क्लॉज' –

संबंधित मुद्दे