on duplicate key update:
要是插入的數據與表中數據的唯一索引或者主鍵重複,就會發生舊行的更新,否則插入一條新的記錄。
例:
users表內容
執行語句
insert into users (id, name, pwd) values (1, '張三111', '密碼111') on duplicate key update name = '張三222' , pwd = '密碼222';
執行過的users表
on duplicate key update 可以多行插入
insert into `users` (`id`, `name`) values (1, 2), (4, 5) on duplicate key update `id`=values(`name`);
注:若多個索引都衝突,則只有一條記錄被修改。