【发布时间】:2014-03-15 04:36:43
【问题描述】:
所以我从install 表中得到了一些结果,如下所示:
install = metadata.tables['install']
results = session.query(install) #<sqlalchemy.orm.query.Query object>
我想将这些相同的结果插入到install_archive 表中。
我不完全确定如何执行此操作,因为我不想通过定义 install-archive 对象然后将结果解析为该对象来复制架构。我相信我没有使用 ORM,因为我只是反映(这是正确的术语吗?)表并查询它们。
我能看到的所有教程都使用 ORM。
在伪代码中,一种缓慢的做法是:
for id in result.all():
install_archive.insert(install(id))
提前致谢!
【问题讨论】:
-
练习的目的是什么?
-
范,我正在尝试对
install表进行一些验证,并且只有验证的子集被传递给install_archive表。我确信这是一件简单的事情“将一些记录从一个表移动到另一个表,但不是全部”,但我似乎无法在文档中找到这样做的方法。我会继续寻找。 -
您确定需要在 python 中(使用 SA)而不是直接在 MySQL 中进行吗?为什么?
-
嗯,就是这样,我认为最好用 sqlalchemy 的方式来做?
-
好吧,我不知道你的具体情况,但除非有一个复杂的逻辑来过滤进入
archive表的内容和没有的内容,否则我会直接在数据库中执行并避免开销。
标签: python sql mysql sqlalchemy