MYSQL數據庫之ON DUPLICATE KEY UPDATE 作用

首先,需要特別提醒大家,ON DUPLICATE KEY UPDATE 語法是MYSQL數據庫獨有。

ON DUPLICATE KEY UPDATE 語法的作用是:當insert一條語句的時候,如果發現該條記錄已在數據庫中存在,則使用Update更新相同記錄中部分字段。

用法:

現有一張user表,表結構以及表數據如下:

表結構
user表結構
user表數據
user表數據

現在如果執行如下語句:

insert into user (user_id,user_name,age,address) values ( 1,"steven",12,"山東") ON DUPLICATE KEY UPDATE user_id=1,user_name="steven",age=12,address="山東";

我們首先看一下執行結果和執行過程

執行過程
執行過程

 

執行結果
user表更新後的數據

從結果和執行過程中我們會發現,mysql實際上影響了兩條記錄,而我們也會從這個更新語句中發現,當發現相同的主鍵語句的時候,會去執行後面的update的語句。而我們在這裏也看到,ON DUPLICATE KEY UPDATE語法很好的幫助我們解決了實際開發中數據合併的業務,當我們需要合併兩個人共同完成的業務時,我們可以是它很好的解決。同時,也保證在批量處理業務上的能夠更好的去執行,以往我們數據合併的時候,我們首先需要判斷兩表之間的數據差異,然後,在去更新,但是,現在我們可以直接使用它。不用在去手動判斷數據差異問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章