根據主鍵或唯一索引新增或更新數據(ON DUPLICATE KEY UPDATE)

ON DUPLICATE KEY UPDATE 會根據主鍵或唯一索引是否存在而進行新增或更新;如果不存在則新增,之後不會執行後面的更新;

insert into student(number, name) values(45,‘張三’)
ON DUPLICATE KEY UPDATE number = 45, name = ‘李四’ ;

我們在 student 表 number 字段上上設置 unique key 時,這條語句執行時,如果表中已有number爲45的數據,則將name更新爲李四,返回受影響行數2條;

如果表中沒有number爲45的則新增,返回受影響行數1條;

insert into student(number, name) values(45,‘張三’)
ON DUPLICATE KEY UPDATE number = 46, name = ‘李四’ ;
第一次執行首先會新增45/張三,影響行數1;
第二次執行 就會把 把新增的數據全部替換成 46/李四,影響行數2;

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