我想知道如果我能在一個查詢Postgres的:更新一個布爾值列,設置該列的所有其他布爾假
USECASE做到這一點:Twitter的固定鳴叫。您最多可以擁有一個固定的推文,並設置一個新的固定推文,取消設置所有其他先前推送的推文。
任何想法?
我想知道如果我能在一個查詢Postgres的:更新一個布爾值列,設置該列的所有其他布爾假
USECASE做到這一點:Twitter的固定鳴叫。您最多可以擁有一個固定的推文,並設置一個新的固定推文,取消設置所有其他先前推送的推文。
任何想法?
UPDATE tweets
SET pinned = NOT pinned
WHERE id = 1234 OR pinned = TRUE;
或者要特別小心
WHERE (id = 1234 AND pinned = FALSE OR (pinned = TRUE AND id <> 1234)
或者簡單地說:'更新tweets set pinned =(id = 1234)' –
@a_horse_with_no_name這是一個好主意。雖然我認爲它仍然需要'WHERE id = 1234或pinned = TRUE'它使用索引而不是試圖在所有行上工作。 –
'更新MY_TABLE組boolean_column =(條件);'例如'更新tweets set pinned =(tweet_id = 666);' – Abelisto