MySQL新增資料,存在就更新,不存在就新增

2021-08-27 04:08:57 字數 1039 閱讀 3554

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...