在python中绕过已知的mysql异常

时间:2016-08-11 14:04:08

标签: python mysql-python

我试图绕过" 无法删除或更新父行:外键约束失败"在我的python脚本中。 所以我打算放弃所有表格,但由于相互关系,这个错误会被抛出。

我的查询是我需要自动化,我知道我会遇到同样的错误,但我知道如何通过调用SET FOREIGN_KEY_CHECKS=0;来绕过它,然后一旦删除就再次启用该功能{{1} }。 需要知道如何在python中自动化

SET FOREIGN_KEY_CHECKS=1;

1 个答案:

答案 0 :(得分:0)

我尝试了以下剪辑并且它仍然有效,谢谢。

        if cham == "drop table":
            db = MySQLdb.connect(host = _host, user = _user,db =  _db, passwd = _pass )
            cursor = db.cursor()
            cursor.execute("show tables")
            for i in cursor.fetchall():
                try:
                    cursor.execute("drop table" + " " + (i[0]))
                    #print cursor.fetchall()
                except:
                    cursor.execute("SET FOREIGN_KEY_CHECKS=0")
                    cursor.execute("drop table" + " " + (i[0]))
                    cursor.execute("SET FOREIGN_KEY_CHECKS=1")
#               print "all the tables has been deleted"
            db.close()