在 python 中运行类似以下内容的建议方法是什么:
self.cursor.execute('SET FOREIGN_KEY_CHECKS=0; DROP TABLE IF EXISTS %s; SET FOREIGN_KEY_CHECKS=1' % (table_name,))
例如,这应该是三个独立的 self.cursor.execute(...)
语句吗?除了 cursor.execute(...)
之外,是否应该使用特定的方法来做这样的事情,或者建议的做法是什么?目前我的代码如下:
self.cursor.execute('SET FOREIGN_KEY_CHECKS=0;')
self.cursor.execute('DROP TABLE IF EXISTS %s;' % (table_name,))
self.cursor.execute('SET FOREIGN_KEY_CHECKS=1;')
self.cursor.execute('CREATE TABLE %s select * from mytable;' % (table_name,))
如您所见,一切都是单独运行的……所以我不确定这是否是个好主意(或者更确切地说,执行上述操作的最佳方法是什么)。也许 BEGIN...END
?
原文由 David542 发布,翻译遵循 CC BY-SA 4.0 许可协议
我会创建一个存储过程:
然后运行:
保持简单和模块化。当然,您应该进行某种错误检查,您甚至可以让存储过程返回一个代码来指示成功或失败。