我们常见的插入方法一般有这几种,普通插入语句、插入或更新、插入或替换、插入或忽略,应用在不同的场景中,在功能方面呢也会有所不同。
1.普通插入语句
insert into table ('a','b','c','d') values ('1','2','3','4');
2、插入或更新
如果我们希望插入一条新记录(INSERT),但如果记录已经存在,就更新该记录,此时,可以使用"INSERT INTO … ON DUPLICATE KEY UPDATE …"语句:
情景示例:这张表存了用户历史充值金额,如果第一次充值就新增一条数据,如果该用户充值过就累加历史充值金额,需要保证单个用户数据不重复录入。
这时可以使用"INSERT INTO … ON DUPLICATE KEY UPDATE …"语句。
注意事项:"INSERT INTO … ON DUPLICATE KEY UPDATE …"语句是基于唯一索引或主键来判断唯一(是否存在)的。如下SQL所示,需要在username字段上建立唯一索引(Unique),transId设置自增即可。
-- 用户张三充值了30元
INSERT INTO transaction (transId,username,amount,transTime,remark)
VALUES (null, '张三', 30, '2020-06-20 20:00:20', '会员充值')
ON DUPLICATE KEY UPDATE amount=amount + 30,transTime='2020-06-20 20:00:20',remark

最低0.47元/天 解锁文章
1252

被折叠的 条评论
为什么被折叠?



