डीबी-एपीआई अपने आप लेनदेन को संभालने की कोशिश करता है, पहले आदेश पर लेनदेन शुरू करता है और इसे प्रतिबद्ध करने के लिए अपनी एपीआई कॉल करता है, इसलिए:
cursor.execute( "CREATE TABLE t1 ( t1_id INT PRIMARY KEY AUTO_INCREMENT )" )
cursor.commit()
cursor.execute( "CREATE TABLE t2 ( t2_id INT PRIMARY KEY AUTO_INCREMENT )" )
cursor.commit()
मेरी राय में, यह पायथन के डीबी-एपीआई की एक गंभीर, चमकदार डिजाइन त्रुटि है, जिससे लेनदेन के बाहर आदेशों को निष्पादित करने और लेनदेन पर उचित नियंत्रण रखने में गंभीर परेशानी होती है, उदाहरण के लिए। SQLite के BEGIN EXCLUSIVE TRANSACTION
. जैसी चीज़ों का उपयोग करने के लिए . यह ऐसा है जैसे किसी वास्तविक डेटाबेस अनुभव वाले व्यक्ति को एपीआई डिजाइन करने की अनुमति नहीं थी...