1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > mysql批量更新数据实现自增_MySQL on duplicate key update 批量插入并更新已存在数据...

mysql批量更新数据实现自增_MySQL on duplicate key update 批量插入并更新已存在数据...

时间:2022-11-15 13:19:39

相关推荐

mysql批量更新数据实现自增_MySQL on duplicate key update 批量插入并更新已存在数据...

业务上经常存在一种现象,需要批量往表中插入多条数据,但在执行过程中,很可能因为唯一键冲突,而导致批量插入失败。

因此需要事先判断哪些数据是重复的,哪些是新增的。

比较常用的处理方法就是找出已存在的数据,并将其与不存在的数据区分开,已存在的数据一条条的更新。不存在的数据则批量更新。

这种方法会导致代码逻辑复杂,同时严重降低代码效率。

为了应对这种业务场景,MySQL有一种专有语法(insert into ... on duplicate key update)批量插入并更新唯一键数据

CREATE TABLE `user_card` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 主键,

`uid` int(10) DEFAULT \ COMMENT 用户ID,

`grade_id` int(10) DEFAULT \ COMMENT 等级ID,

`name` varchar(255) DEFAULT \ COMMENT 姓名,

`money` decimal(10,2) DEFAULT .00 COMMENT 余额,

PRIMARY KEY (`id`),

UNIQUE KEY `uid_gid` (`uid`,`grade_id`) -- 业务上的唯一键

) ENGINE=INNODB DEFAULT CHARSET=utf8 ;</

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。