mysql數(shù)據(jù)庫考試試題及答案 更新數(shù)據(jù)庫里的記錄時,為什么要先判斷下數(shù)據(jù)是否存在再更新?
更新數(shù)據(jù)庫里的記錄時,為什么要先判斷下數(shù)據(jù)是否存在再更新?根本原因是數(shù)據(jù)庫的并發(fā)機制,表現(xiàn)在各種鎖上。更新操作是一個互斥體,其他操作需要等待互斥體被釋放,然后才能獲得操作權(quán)限。選擇操作是一個共享鎖。當
更新數(shù)據(jù)庫里的記錄時,為什么要先判斷下數(shù)據(jù)是否存在再更新?
根本原因是數(shù)據(jù)庫的并發(fā)機制,表現(xiàn)在各種鎖上。更新操作是一個互斥體,其他操作需要等待互斥體被釋放,然后才能獲得操作權(quán)限。選擇操作是一個共享鎖。當數(shù)據(jù)塊持有鎖時,其他操作仍然不可寫,但可以讀取數(shù)據(jù)。
在“先檢查后更新”操作的應用場景中,首先確定要更新的記錄是否存在。如果沒有返回錯誤,將執(zhí)行更新操作。