0
我有列的表格:刪除行更新,如果衝突
- microservice_id
- transport_id
- 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子查詢將無法工作。我該如何解決它?
[42601] ERROR: syntax error at or near "FROM"
附近DELETE
怎麼不工作?錯誤? –
你會得到什麼錯誤? –
* [42601]錯誤:在DELETE附近的「FROM」*附近出現語法錯誤,因爲我認爲 – Illorian