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

标签 mysql sql

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

指南:

  • id(整数)
  • 姓名(整数)
  • 标题(varchar)
  • 网址(varchar)

姓名:

  • ID
  • 姓名

我有一个抓取工具,可以从多个网站提取数据,然后将解析后的数据插入 MySQL 数据库:titleurl。我也知道名称,但是如何将我的名称与引用表中的名称进行比较并将 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'
        )

关于mysql - 如何将存储在引用表中的引用值插入到另一个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16344364/

相关文章:

php - 对于在一个查询中表中具有相关行的每个客户端,删除除最后 10 行之外的所有行吗?

MySQL导出不带引号的CSV

mysql - SQL查询改进(表中的额外列)

mysql - mysql查询中的多表内连接

mysql - Crystal Report 13在VS 2010中提示数据库登录

Python Django : displaying special characters in admin, 但不在我的网站上?

php - Mysqli 未找到行

SQL:选择(null = null);

mysql - 使用 IN 运算符的 SQL 查询

asp.net - SQL MAX() 函数很慢,有没有更好的方法?