我的 MySQL 数据库中有两个表:一个存储我从其他站点抓取的指南,另一个存储冗余的名称,以避免多次存储相同的内容。
指南:
- 编号(整数)
- 名称(整数)
- 标题(varchar)
- 网址(varchar)
名称:
- ID
- 姓名
我有一个从多个网站提取数据的刮刀,然后将解析后的数据插入 MySQL 数据库:title、url。我也知道名称,但是如何将我的名称与参考表中的名称进行比较并将 id 插入 Guides.name 中?我怎样才能
insert Guides
(name, title, url)
select n.id
, 'TheTitleYouHave'
, 'TheUrlYouHave'
from Names n
where n.Name = 'TheNameYouHave'
或者:
insert Guides
(name, title, url)
values (
(
select id
from Names
where name = 'TheNameYouHave'
)
, 'TheTitleYouHave'
, 'TheUrlYouHave'
)