MySQL中實(shí)現(xiàn)插入或更新操作(類似Oracle的merge語句)
如果需要在MySQL中實(shí)現(xiàn)記錄不存在則insert,不存在則update操作??梢允褂靡韵抡Z句:
更新一個字段:
INSERT INTO tbl (columnA,columnB,columnC) VALUES (1,2,3) ON DUPLICATE KEY UPDATE columnA=IF(columnB>0,1,columnA)
更新多個字段:
INSERT INTO tbl (columnA,columnB,columnC) VALUES (1,2,3) ON DUPLICATE KEY UPDATE columnA=IF(columnB>0,1,columnA),columnB=IF(columnC>0,1,columnB),columnC=IF(columnA>0,1,columnC);
由于MySQL對更新為原相同值有進(jìn)行優(yōu)化,所以更新為原相同值時不會真正對字段進(jìn)行更新操作,不存在性能問題。
以上所述是小編給大家介紹的在MySQL中實(shí)現(xiàn)插入或更新操作(類似Oracle的merge語句),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
mysql一次將多條不同sql查詢結(jié)果并封裝到一個結(jié)果集的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于mysql一次將多條不同sql查詢結(jié)果并封裝到一個結(jié)果集的實(shí)現(xiàn)方法,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-03-03使用mysql語句查看數(shù)據(jù)庫表所占容量空間大小
這篇文章主要給大家介紹了關(guān)于如何使用mysql語句查看數(shù)據(jù)庫表所占容量空間大小的相關(guān)資料,如何在MySQL數(shù)據(jù)庫管理中查詢數(shù)據(jù)庫、表、索引的容量大小是經(jīng)常遇到的需求,需要的朋友可以參考下2023-08-08MySQL事務(wù)的ACID特性以及并發(fā)問題方案
這篇文章主要介紹了MySQL事務(wù)的ACID特性以及并發(fā)問題方案,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-07-07