首先,這個問題只有在特殊狀況下才算是問題,大多數狀況下能夠不做考慮。web
而後,這是問題很難描述清楚,解決方案有多種,下面提供一種較方便易用的方式spa
場景(問題)描述以下:.net
0,用戶A、B同時打開一個頁面,頁面顯示,客戶表T_CUSTOMER字段(C_NAME、C_AGE)orm
姓名:張三,年齡:25blog
1,A 將姓名「張三」改成「張三1」,而後保存ci
2,B 將年齡「25」改成「30」,而後保存it
這樣A的操做就被覆蓋了,姓名又變回「張三」了,你們通常怎麼到處這種狀況?io
這裏給出一個較易用的解決方案form
給表添加一字段:LAST_UPDATE,即最後更新時間transform
0,用戶A、B同時打開一頁面,面頁顯示:
姓名:張三,年齡:25,LAST_UPDATE:2008-10-17 13:45:00
1,A 將姓名「張三」改成「張三1」,而後保存
重點在這裏:更新數據時WHERE條件裏多一條件:AND LAST_UPDATE = '2008-10-17 13:45:00'
更新成功,此時觸發器會將當前時間「2008-10-17 13:46:00」賦值給LAST_UPDATE
2,B 將將年齡「25」改成「30」,而後保存
B更新數據時WHERE條件裏也有這個條件:AND LAST_UPDATE = '2008-10-17 13:45:00',但此時LAST_UPDATE的值已經在A修改記錄時變成2008-10-17 13:46:00
https://blog.csdn.net/baimin7657/article/details/8062939