请教, scrapy 抓取的数据插入数据库时有外键,该如何插入~!

2019-07-03 12:47:05 +08:00
 xiaomayi2012
请教,scrapy 抓取的数据插入数据库时有外键,该如何插入,
例如: 向 info 表中插入数据,分类想插入到 category 表中,info 表中有 category_id ,这个插入数据时该如何插入,求教谢谢~!
表设计如下:
category 表:
id,
category

info 表:
id,
name,
image,
category_id
1788 次点击
所在节点    Python
10 条回复
lostpupil
2019-07-03 12:54:23 +08:00
remove fk
zdnyp
2019-07-03 13:15:40 +08:00
先插入 category,然后会返回 ID 啊,再拿着这个 id 插入 info
sowevo
2019-07-03 14:57:50 +08:00
@lostpupil 不要用外键
saulshao
2019-07-03 16:13:26 +08:00
你们说的不用外键,但是在 info 表里面还是插入 category_id 吗?如果是,那是不是还是按照二楼的做法来,只是显式的外键定义应该取消?
xiaomayi2012
2019-07-03 16:19:02 +08:00
@saulshao @lostpupil @sowevo 各位老哥用 scrapy 抓取小说网站,写入 mysql,小说里面含有章节 这个是不是得用到外键,如果不用外键 有什么好的处理方式?
pws22
2019-07-03 16:25:20 +08:00
物理外键取消,用逻辑外键,简单来说就是你的组合在程序里搞定
saulshao
2019-07-03 16:46:23 +08:00
@xiaomayi2012 前面的意思确实是需要用外键的,只是不在数据库里明确地定义 FK,只是在程序里或者 SQL 脚本里用外键,实际的程序步骤和 @zdnyp 提到的是完全一样的,其实你完全可以提前把整个 categoty 表都读到内存 /缓存里,然后用程序来判定该不该写入 2 个表。
lostpupil
2019-07-04 17:47:33 +08:00
@xiaomayi2012 fk 并不是必须的,如果你需要,可以用程序里面操作代替外键。 因为其实就是 一个 category_id 的名字而已。
lostpupil
2019-07-04 17:48:00 +08:00
@sowevo 没错 我就是那个意思。
dengwen168
2019-07-08 11:45:23 +08:00
@zdnyp 请问在 mysql 中返回 ID 要如何弄呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/579604

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX