加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL:子选择插入

发布时间:2020-12-13 16:27:09 所属栏目:百科 来源:网络整理
导读:我有一个名为map_tags的表: map_id | map_license | map_desc 另一个表(widgets)的记录包含一个map_tags记录的外键引用(1到1): widget_id | map_id | widget_name 给定所有map_licenses是唯一的约束(但是没有设置为map_tags上的键),那么如果我有一个map_li
我有一个名为map_tags的表:
map_id | map_license | map_desc

另一个表(widgets)的记录包含一个map_tags记录的外键引用(1到1):

widget_id | map_id | widget_name

给定所有map_licenses是唯一的约束(但是没有设置为map_tags上的键),那么如果我有一个map_license和一个widget_name,我想在同一个SQL语句的所有窗口小部件上执行插入:

INSERT INTO
    widgets w
(
    map_id,widget_name
)
VALUES (
    (
        SELECT
            mt.map_id
        FROM
            map_tags mt
        WHERE
            // This should work and return a single record because map_license is unique
            mt.map_license = '12345'
    ),'Bupo'
)

我相信我在正确的轨道上,但是直接知道这是对Postgres是不正确的SQL.有没有人知道实现这样一个查询的正确方法?

INSERT INTO widgets
(
    map_id,widget_name
)
SELECT
    mt.map_id,'Bupo'
FROM
    map_tags mt
WHERE
    mt.map_license = '12345'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读