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. 視頻文件不能播放,怎么辦?2. 前端 - 誰來解釋下這兩個 CSS selector 區(qū)別3. javascript - 求幫助 , ATOM不顯示界面!!!!4. javascript - ios返回不執(zhí)行js怎么解決?5. python - 爬蟲模擬登錄后,爬取csdn后臺文章列表遇到的問題6. html5 - HTML代碼中的文字亂碼是怎么回事?7. python bottle跑起來以后,定時執(zhí)行的任務(wù)為什么每次都重復(fù)(多)執(zhí)行一次?8. mysql - 分庫分表、分區(qū)、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處9. javascript - vue2如何獲取v-model變量名10. javascript - angular使從elastichearch中取出的文本高亮顯示,如圖所示
