我试图绕过" 无法删除或更新父行:外键约束失败"在我的python脚本中。 所以我打算放弃所有表格,但由于相互关系,这个错误会被抛出。
我的查询是我需要自动化,我知道我会遇到同样的错误,但我知道如何通过调用SET FOREIGN_KEY_CHECKS=0;
来绕过它,然后一旦删除就再次启用该功能{{1} }。
需要知道如何在python中自动化
SET FOREIGN_KEY_CHECKS=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()