1.insert ignore
insert ignore into table(col1,col2) values ('a','b');
例如插入資料:
insert ignore into user_info (last_name,first_name) values ('lebron','james');
這樣一來,如果表中已經存在last_name=』lebron』且first_name=』james』的資料,就不會插入,如果沒有就會插入一條新資料。
上面的是一種用法,也可以用 insert …. select 來實現,這裡就不舉例了。
2.insert…on duplicate key update
如果指定了on duplicate key update,並且插入行後會導致在乙個unique索引或primary key中出現重複值,則執行update。
insert into table (a,b,c) values (1,2,3) on duplicate key update a=1,b=2,c=3;
如果行作為新記錄被插入,則受影響行的值為1;如果原有的記錄被更新,則受影響行的值為2。
3.replace
使用replace的最大好處就是可以將delete和insert合二為一,形成乙個原子操作。這樣就可以不必考慮在同時使用delete和insert時新增事務等複雜操作了
在使用replace時,表中必須有唯一索引,而且這個索引所在的字段不能允許空值,否則replace就和insert完全一樣的。
在執行replace後,系統返回了所影響的行數,如果返回1,說明沒有重複的記錄,如果返回2,說明有重覆記錄,系統先delete這條記錄,然後再insert這條記錄
replace into users (id,name,age) values(123, '賈斯丁比伯', 22);
MySQL新增資料,存在就更新,不存在就新增上
一 插入一條資料,存在就更新,不存在就插入 必須現有唯一鍵 replace關鍵字的使用 使用replace的最大好處就是可以將delete和insert合二為一,形成乙個原子操作。1 這樣就可以不必考慮在同時使用delete和insert時新增事務等複雜操作了。2 在使用replace時,表中必須有...
mysql存在就更新,不存在就新增
insert into newest log operation action,operation,key value,bus key,content,user id,version,module,create time values action,operation,keyvalue,buskey...
MYSQL存在既更新,不存在就新增 T SQL
create table tm customer sap log id bigint 36 not null auto increment comment id partner varchar 64 not null default comment 客戶編號 name org1 varchar 64...