兩個人同時改同一筆資料怎麼辦

同時編輯衝突:後存的人默默蓋掉先存的人。用版本戳記(樂觀鎖)或條件更新擋下;驗收開兩個視窗同時改同一筆。

分享
兩個人同時改同一筆資料怎麼辦
定義:同時編輯衝突=兩個人同時開著同一筆資料在改,後存的人把先存的人的修改整個蓋掉,而且雙方都不知道。審核、編輯類系統的真實風險。

問題長什麼樣

A 主管開著一張單在審,B 同時也開著同一張改內容。兩人都按了存檔——後存的那份會默默覆蓋先存的那份,沒有任何警告。

兩種解法(實際用過)

  • 版本戳記(樂觀鎖):存檔時附上「我當時看到的版本」,若資料已被別人改過,存檔會被拒絕並提示重新載入。「樂觀」的意思是平常不上鎖、假設衝突很少,真的撞到才擋。有些資料庫平台(如 Dataverse)內建這機制。
  • 條件更新:用資料庫的「只有狀態還是 X 才准更新」語法——狀態被別人改了就更新失敗。

決策心得

平台有內建機制就用內建的,不要自己發明。跟 AI 說「這張表會有多人同時編輯,要防後存覆蓋」即可,讓它選平台合適的機制。

驗收方式

開兩個瀏覽器視窗同時改同一筆:後存的那個必須被擋下並看到明確提示,而不是默默蓋掉。

相關條目

Read more

當軟體小白開始遇到資安問題

當軟體小白開始遇到資安問題

前端的權限處理好了,那後端呢? 花了快一天的時間,才弄清楚我到底在修什麼issue,這個資安問題分成兩部分。 第一個是前端寫好的權限,但使用者可以透過網頁開發者工具(F12)去修改自己的身分,把自己從一般使用者改成主管,來獲得操作權限。 要解決這個問題有三個步驟要設定: 1. 資料行安全性設定檔,加成員( powerplatform > 環境 > XXXX > 設定>資料行安全性設定 > 使用者) 2. 啟用資料行安全性( Power Apps > 資料表 > 使用者 > 資料行 > 點擊欲修改的顯示名稱 > 進階選項) 3. 回到資料行安全性設定檔,編輯資料行權限(讀取、更新、建立) 如此一來,有更新、建立權限的人員,才能去修改該資料行的值。 確保了後端的使用者權限不會被亂改後,

By yuchang23