MySQL主鍵衝突時的更新操作與替換操作在功能上有何差異(如圖)
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-07 09:25:03
0
2
877

#

曾经蜡笔没有小新
曾经蜡笔没有小新

全部回覆(2)
世界只因有你

INSERT ... ON DUPLICATE KEY UPDATEREPLACE是有區別的,前者INSERT失敗後執行UPDATE,後者相當於DELETE再INSERT,原來整行都消失哦!

具體而言,如果你的表有3列的話:

id name alias
1  王五 王二麻子

這兩句的效果是不一樣的:

INSERT INTO pri (id, name) VALUES (1, '李四') ON DUPLICATE KEY UPDATE name = '李四'

REPLACE INTO pri (id, name) VALUES (1, '李四')

前者alias沒變,後者卻會變成null。

迷茫

insert into on duplicate update 是在原紀錄上進行操作
replace 判斷如果有重複的話,先進行刪除操作,再進行插入操作

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板