如何将存储在引用表中的引用值插入另一个表?

时间:2013-05-02 17:39:46

标签: mysql sql

我的MySQL数据库中有两个表:一个用于存储我从其他站点获取的指南,另一个用于存储名称,这些表是多余的,以避免存储相同的内容太多次。

指南:

  • ID(int)的
  • 名(int)的
  • 标题(VARCHAR)
  • URL(VARCHAR)

姓名:

  • ID
  • 名称

我有一个刮刀,它从多个网站中提取数据,然后将解析后的数据插入到MySQL数据库中:标题网址。我也知道名字,但是如何比较我的名字和参考表中的名称并将id插入Guides.name? 我怎么能

1 个答案:

答案 0 :(得分:1)

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'
        )