我尝试在PostgreSQL DB中发送INSERT一个请求。我想插入表用户的登录名和密码,然后从用户ID中删除,然后在ud_user中插入其ID和其他参数(名称,性别等)到表personal_data中。
INSERT INTO personal_data (id_user, name, gender, city)
VALUES ((INSERT INTO users (login, password)
VALUES('123', '123')
RETURNING id), 'Max', 'Male', 'Moscow');
语法错误或更新为“ INTO” 第2行:值((插入用户...
答案 0 :(得分:0)
在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;