【问题标题】:How to return id from table_1 and and insert into table_2如何从 table_1 返回 id 并插入 table_2
【发布时间】:2019-02-06 18:25:01
【问题描述】:

我尝试在 postgresql 数据库中发送 INSERT 一个请求。我想插入表用户登录名和密码,然后从用户 ID 中取出,并将 ud_user 插入到表personal_data 中,它的 ID 和其他参数(姓名、性别等)。

INSERT INTO personal_data (id_user, name, gender, city)
VALUES ((INSERT INTO users (login, password) 
VALUES('123', '123')
RETURNING id), 'Max', 'Male', 'Moscow');

在“INTO”或新的“INTO”处出现语法错误 第 2 行:值((插入用户...

【问题讨论】:

标签: sql insert request psql


【解决方案1】:

在 Postgres 中,您可以使用 CTE 在同一语句中更新两个表:

WITH u as (
      INSERT INTO users (login, password) 
          VALUES('123', '123')
          RETURNING id
     )
INSERT INTO personal_data (id_user, name, gender, city)
    SELECT id, 'Max', 'Male', 'Moscow'
    FROM u;

【讨论】:

  • 谢谢,这是我需要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-14
  • 2022-01-23
  • 1970-01-01
  • 2014-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多