python的MySQLdb包rollback對create語句無效嗎?
問題描述
業(yè)務(wù)需要用腳本自動創(chuàng)建數(shù)據(jù)庫表,并注冊到一個注冊表中。環(huán)境是python2.7+mysql5.6+MySQLdb代碼如下,其中createSchemaCmd是create schemasql指令,createTableCmd是create table指令,registerTableCmd是insert table指令
dbConn = DBOHelper.getConnect(DB_HOST, DB_Account, DB_PSW)cur = dbConn.cursor()try: for cmd in [createSchemaCmd, createTableCmd, registerTableCmd]:rst = cur.execute(cmd)dbConn.commit()except MySQLdb.MySQLError, sql_err: dbConn.rollback() print 'Mysql Error %d: %s' % (sql_err.args[0], sql_err.args[1]) raise sql_errfinally: cur.close() dbConn.close()
出現(xiàn)異常時,rollback沒有回滾2個create相關(guān)的指令。現(xiàn)在我需要rollback建庫和建表指令應(yīng)該怎么做?
問題解答
回答1:DDL VS DML
基本概念
DML 才能 rollback
回答2:直接drop
相關(guān)文章:
1. python文檔怎么查看?2. python - pycharm 自動刪除行尾空格3. 安全性測試 - nodejs中如何防m(xù)ySQL注入4. python - pandas按照列A和列B分組,將列C求平均數(shù),怎樣才能生成一個列A,B,C的dataframe5. python - Pycharm的Debug用不了6. html - eclipse 標(biāo)簽錯誤7. python 利用subprocess庫調(diào)用mplayer時發(fā)生錯誤8. 請問PHPstudy中的數(shù)據(jù)庫如何創(chuàng)建索引9. datetime - Python如何獲取當(dāng)前時間10. javascript - 有適合開發(fā)手機端Html5網(wǎng)頁小游戲的前端框架嗎?
