请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

通过ORM新增关联数据

数据库postgres,我现在需要批量迁移数据,有一张表是另一张表的子表,里面有个字段是parentId,指向它父表的主键Id,现在问题是我批量插子表数据的时候并不知道每条数据所关联的parentId,只知道它关联的父表数据中的一个字段(类似parentName),即:我现在要插入10000条子表的数据,每一条数据的parentId,我都要先遍历一遍父表,通过parentName,找到parentId,然后再插入子表数据,有没有方便点的做法??

正在回答 回答被采纳积分+3

1回答

NavCat 2019-01-07 22:54:27

有两种方式解决,你可以尝试一下:

1, 使用ORM来进行操作,写一个python脚本,通过parentName找到parentId,再进行插入。

2,使用SQL语句试试,譬insert into from 语句,参考链接:

https://blog.csdn.net/ljheee/article/details/78649195

https://blog.csdn.net/luojinbai/article/details/45676783

0 回复 有任何疑惑可以回复我~
  • 提问者 Dod_Annie #1
    你说的第一种方法就是我问题描述里的方法啊,也是我目前能想到的方法,但是缺点很明显,每次插子表的一条数据时我都要遍历整个父表的数据去找parentId,十分浪费性能;
    第二种insert into from语句我并没有看懂啊,我目前的需求是插入子表的数据时,每条数据都有个必填字段是parentId,目前只有一个parentName,问题就是如何高效地根据parentName找到parentId啊
    回复 有任何疑惑可以回复我~ 2019-01-07 23:23:34
  • NavCat 回复 提问者 Dod_Annie #2
    第二种方法其实就是使用sql语句来代替ORM操作,即:使用sql从一个表里面查询出来插入到另一个表。你可以写好迁移SQL直接在终端上执行,或者是使用python来调用pg数据库的api来执行。
    回复 有任何疑惑可以回复我~ 2019-01-08 01:09:10
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信