Собственно у меня есть таблица, которая состоит из полей
- microservice_id
- transport_id
- username
- password
- is_default
и уникальный ключ (microservice_id, transport_id)
Я пытаюсь сделать запрос
UPDATE microservices_transports
SET
transport_id = :next,
username = :username,
password = :password,
is_default = COUNT((SELECT *
FROM
(DELETE FROM microservices_transports AS mt WHERE mt.transport_id = :next AND mt.microservice_id = microservice_id RETURNING *)
WHERE is_default = TRUE
)) > 0
WHERE
transport_id = :prev
Но он ругается на синтаксис около DELETE. Я не знаю, как по-другому сделать такого рода действие. Может есть какие-то более лёгкие или правильные пути?