尝试删除奖金余额,以防用户不存在。O2O关系,其中bonusBalancesId
在users
表上
DELETE "balances"
FROM "public"."bonus-balances" as "balances"
LEFT JOIN "public"."users" as "users"
ON "balances"."id"= "users"."bonusBalancesId"
WHERE "users"."id" IS NULL;
得到这个错误:
ERROR: syntax error at or near ""balances""
LINE 1: DELETE "balances"
这是无效的DELETE语法。您需要一个使用NOT EXISTS的相关子查询来执行此操作:
delete from "bonus-balances"
where not exists (select *
from users u
where u."bonusBalancesId" = "bonus-balances".id)