Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL。在连接表中插入值_Sql_Postgresql_Junction Table - Fatal编程技术网

PostgreSQL。在连接表中插入值

PostgreSQL。在连接表中插入值,sql,postgresql,junction-table,Sql,Postgresql,Junction Table,你好。我在连接表中插入数据时遇到问题 这是我的桌子: users table ----------------------- |user_id |FullName | ----------------------- |1 | John | |2 | Michael | |3 | Bryce | addresses table ---------------------------------

你好。我在连接表中插入数据时遇到问题


这是我的桌子:

users table

    -----------------------
    |user_id   |FullName |
    -----------------------
    |1      | John    |
    |2      | Michael |
    |3      | Bryce   |

addresses table

    -----------------------------------------
    |address_id|    country    |    city     |
    -----------------------------------------
    |    1     |      USA      |    New-York |
    |    2     |     Russia    |    Moscow   |
    |    3     |    Germany    |    Berlin   |
    |    4     |      UK       |    London   |

This is the Junction table to connect the 
    two now.

"user_address"

    ------------------------
    | user_id | address_id |
    ------------------------
    |   1     |      1     |
    |   1     |      2     |
    |   2     |      3     |
    |   3     |      1     |
我想连接它们,然后创建地址。因此,我需要在
地址表中创建一个新地址,并将它们放在连接处(不关心
用户ID
,我只需要处理
地址ID

以下是我用于创建地址的查询:

"INSERT INTO addresses (country, city) VALUES (?, ?) RETURNING id, country, city"
如您所见,我需要返回已创建地址的值,以便将它们显示给我的消费者


我如何插入一个新地址,获取它的ID并将其放在我的连接处?需要在单个查询中使用。

a
with
插入子句会有所帮助

with ins AS
(
 INSERT INTO addresses (country, city) 
     VALUES ('USA', 'New-York') RETURNING address_id, country, city
),
ins2 AS
(
 INSERT INTO user_address (address_id) select address_id from ins
)
select * from ins
注:

你说

。。不关心用户id,我只需要处理地址id

因此,我假设您有另一种机制来更新
user\u id


A
插入子句会有所帮助

with ins AS
(
 INSERT INTO addresses (country, city) 
     VALUES ('USA', 'New-York') RETURNING address_id, country, city
),
ins2 AS
(
 INSERT INTO user_address (address_id) select address_id from ins
)
select * from ins
注:

你说

。。不关心用户id,我只需要处理地址id

因此,我假设您有另一种机制来更新
user\u id


用户中的
用户ID
与连接表不匹配。你们之间应该如何联系?@KaushikNayak啊,对不起,我抄错了表。已编辑。@KaushikNayak我正在使用Java。我的地址实体有一组用户ID(但用户不知道他的地址-单向绑定,我只对java部分使用此集合,所以我的表中没有集合或其他内容,只是上面列出的字段),当我创建地址时,我将从这个集合中获取用户id,并将它们作为已创建地址的id放入连接中。
users
中的
用户id
和连接表不匹配。你们之间应该如何联系?@KaushikNayak啊,对不起,我抄错了表。已编辑。@KaushikNayak我正在使用Java。我的地址实体有一组用户id(但用户不知道他的地址-单向绑定,我只对java部分使用此集合,所以我的表中没有集合或其他内容,只是上面列出的字段),当我创建地址时,我将从该集合中获取用户id,并将其作为已创建地址的id连接起来。