Sch*_*ler 3 postgresql postgresql-9.6
如何在同一个查询中执行更新和插入?我需要更新记录,如果它不存在那么它必须执行插入我试过这个
UPDATE bank SET Address= $2,"PANCard"= $3,"IFSC" = $4 WHERE user_id = $1;
INSERT INTO bank (user_id,bank_details,"PAN",bank_acc,"UAN",tax)
SELECT '$2','$3','$4','$5','$6'
WHERE NOT EXISTS (SELECT * FROM bank WHERE user_id=$1);
Run Code Online (Sandbox Code Playgroud)
但我越来越
{
"name": "error",
"length": 123,
"severity": "ERROR",
"code": "42601",
"file": "postgres.c",
"line": "1274",
"routine": "exec_parse_message"
}
Run Code Online (Sandbox Code Playgroud)
请在这里帮助我
您可以使用 UPSERT:
https://www.postgresql.org/docs/9.5/static/sql-insert.html
文档中的示例:
INSERT INTO distributors (did, dname)
VALUES (5, 'Gizmo Transglobal'), (6, 'Associated Computing, Inc')
ON CONFLICT (did) DO UPDATE SET dname = EXCLUDED.dname;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19455 次 |
| 最近记录: |