pCloud Partner Program

MySQL的on duplicate key update語法

程式技術/Database 2011/10/13 17:08
views: 120313 times
很有意思的一個語法, 不過可要小心使用, 在 mysql 5.0 版起, 可以在 insert 時, 指定若重覆 unique key 時, 則使用 update 語法, 這個有點像是在新增資料時, 若不存在則新增, 存在則 update 的方式.

來個例子:


這時候, 會有一筆, 1,1,1,1 和 2,3,2,2 的資料產生, 如此一來, 可以在重覆 unique key 時, 用來做為更新的條件, 由於 unique key 只會出現一次在對應 table 上, 所以可以用來做為更新的條件值, 而 primary key 也是 unique key, 所以發生在 primary key 時是一樣的狀況.

不過若是新增的資料, 發生多筆 unique key 重覆時(指不同欄位), 該 update 會只更新一筆, 這是在程式上要避免發生的, 以免有資料更新錯誤的問題. 詳情可以參考官方網站資料: http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

這種有趣的語法, 其實用的機會不是太多, 不過多學習了解很有意思.
top




DJI OM 4 折疊式手機雲台 手持穩定器(先創公司貨)
【SONY 索尼】2.1 聲道單件式環繞音響(HT-X8500)
ASUS 華碩 RT-AC68U 雙頻AC1900 無線網路分享器
TEAM十銓 L5 Lite 3D 1TB 2.5吋 SSD固態硬碟
統一 番茄汁(6入/組)
UNITEK TYPE-C 轉VGA/HDMI/PD充電/HUB 鋁合金多功能轉接器
亞果元素 CASA Hub VH1 Type-C 轉 VGA - HDMI二合一顯示轉接器
realme XT (8G/128G) 6.4吋6400萬畫素 四鏡頭鷹眼猛獸
DJI Mavic Mini 暢飛套裝
全新原彩Apple MacBook Air 13吋/i5/8G/256G
DJI Mavic Air 2 全能套裝 [先創公司貨]預購-送記憶卡
Patriot美商博帝 BURST 960G 2.5吋 SSD固態硬碟


 Waiting...