更新資料庫裡的記錄時,為什麼要先判斷下資料是否存在再更新?

時間 2021-05-05 23:14:46

1樓:藍兒魚

不用判斷的,直接更新就行,對於資料庫來說,如果你更新的是同乙個的資料,也就是說這個資料已經是最新的了,update後的結果還是一樣的話,資料庫是不會再做update了

2樓:朱涵俊

更新是沒必要判斷是否存在的,判斷是否存在不一定是為了更新,而是為了檢查許可權。

比如更新article,傳入乙個article id,那先讀取一下這個id存不存在:

select * from article where id = (id-0) and userid =(loginid-0)

我一般在update的時候直接加條件

update article set title='ddd' where id = (id-0)and userid = (loginid -0)

然後根據返回結果,看match rows 0還是1。0的話就是條件沒匹配,有人試圖修改別人的文章。

3樓:

從資料層面可以直接更,庫里沒有的話只是不會命中記錄行不會報錯。

從業務邏輯層面更新個資料,沒有的話得反饋一下給呼叫方啊,這個就得先查一下記錄了。

4樓:shuhari

沒有這種硬性要求,可能是你們的領導自己規定的。

一般來說,記錄應該是先載入出來、讓使用者處理以後再更新,能夠載入的前提就保證了記錄一定是存在的。如果不存在可能是因為:1.

多使用者處理衝突;2. 程式有 bug。但 1 是小概率事件,2 應該在開發過程中就消滅掉。

不做事先判斷,而是當作異常處理也是合理的。

為什麼要建立學生資料庫?對學校來說有什麼幫助嗎?

尋道科技 現在乙個學校有很多很多的系統,比如教務系統 學工系統 財務系統等等。如果沒有學生資料庫,當輔導員需要乙個學生的資料時,就需要從乙個又乙個系統中將這個學生資料拿出來,有重複的還要去重 有了學生資料庫呢?想要的資料都從資料庫中調出來,資料完整且省時省力。這個對比就像是挖水井與修水庫。對學校來說...

計算機系為什麼要學資料庫原理和設計?

菠蘿莓 關係模式的表示方法是為了資料庫邏輯結構設計,關係代數,笛卡兒積是為了更好更深刻理解SQL,至於後期的故障恢復與併發控制,也很複雜。你說的表,增刪改查只是怎麼用而已。 你們學的課叫 資料庫設計 而不是 資料庫使用 換句話說,難道你認為你只要學會了 SQL 語句就能設計出某個專案資料庫的表,並保...

健身時為什麼要先力量訓練再有氧訓練

助力運訓 力量素質訓練在體適能訓練中有著不可或缺的地位。除了對上肢 下肢以及核心的區域性力量訓練以外,還要進行身體各個部位綜合配合的訓練方法。在一般體育類專案中,力量都是由上而下傳遞,以一條完整運動鏈的形式表現出來。研究表明 在力量傳遞過程中,下肢約佔51 上肢約佔46 在傳統訓練觀念中,四肢直接參...