mysql判斷一條記錄是否存在,如果存在,則更新此語句,如果不存在,則插入


前言,在我們的業務邏輯中,很有可能會遇到這樣的情況。

 

1.我要更新一條記錄的值。

2.但是我不確定這條記錄存不存在???

3.那如果存在?我就更新,如果不存在,我就插入!

 

那么如果這樣,一般情況下,我就要發出三條sql,第一條sql查詢這條記錄,然后用程序判斷,如果存在,則更新,如果不存在,則插入。

 

但是這樣,就略顯麻煩了,而且要發出三條sql,那么,其實是有辦法一次性解決的。

 

下面給出sql

 

 1 BEGIN
 2     #定義一個變量來保存該記錄是否存在
 3     declare num int;
 4     #這條sql,就是查詢對應的記錄有多少條,注意 into num 這兩句話,就是把count(*) 查出的值,賦給到num中
 5     select count(*) into num from t_count_view where TO_DAYS(now())=TO_DAYS(day);
 6     #接下來的就是判斷了,注意,判斷是否等於,只有一個等於號
 7     if(num=0)
 8     #等於號之后,還要寫一個Then,代表條件成立后要執行的sql
 9         Then
10         insert into t_count_view(view_people,view_num,day)values(1,1,now());
11   #else可以直接用,不需要加then
12     else
13         update t_count_view set view_people=view_people+1;
14     #但是當if使用完之后,一定要寫end if,代表着if的條件判斷結束了
15   end if;
16 END

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM