0at*_*man 8 python mysql sql sqlalchemy
所以我从install
表中得到了一些结果,如下所示:
install = metadata.tables['install']
results = session.query(install) #<sqlalchemy.orm.query.Query object>
Run Code Online (Sandbox Code Playgroud)
我想将这些相同的结果插入install_archive
表中.
我不完全确定如何做到这一点,因为我不想通过定义一个install-archive
对象然后将结果解析为该对象来复制模式.我相信我没有使用ORM,因为我只是反映(这是正确的术语吗?)表格并查询它们.
我能看到的所有教程都使用ORM.
在psudocode中,一个缓慢的方法是:
for id in result.all():
install_archive.insert(install(id))
Run Code Online (Sandbox Code Playgroud)
提前致谢!
install_archive \
.insert() \
.from_select(names=['col1', 'col2'], # array of column names that your query returns
select=session.query(install)) # your query or other select() object
Run Code Online (Sandbox Code Playgroud)
这导致(PostgreSQL方言)
INSERT INTO install_archive (col1, col2)
SELECT install.col1, install.col2
FROM install;
Run Code Online (Sandbox Code Playgroud)
Mic*_*ior -2
您可以执行类似的操作(更改SELECT
以满足您的需要)。只需确保两个表具有相同的结构即可。
INSERT INTO `table1` (SELECT * FROM `table2`);
Run Code Online (Sandbox Code Playgroud)