Mysql批量插入数据时是否为原子操作

本文通过测试验证了MySQL的批量插入操作是原子性的。创建了一个带唯一键的测试表,测试了不同情况下的批量插入,包括部分数据uk重复和与已有记录冲突的情况,结果显示批量插入要么全部成功,要么全部失败,证明是原子操作。
摘要由CSDN通过智能技术生成

摘要

mysql支持批量插入,即insert into values(),().. ,可以一次插入多条数据,那么这一次插入是否为原子操作呢?

通过测试验证一下mysql一次批量插入结果是不是要么全部插入成功,要么全部插入失败

 

建立测试表

建立一个带unique key的表作为实验表,当插入重复uk的数据mysql会插入失败

CREATE TABLE `uk_test` (
  `id` bigint(32) NOT NULL AUTO_INCREMENT,
  `ip` varchar(32) NOT NULL,
  `gmt_create` datetime NOT NULL COMMENT 'create time',
  `gmt_modify` datetime NOT NULL COMMENT 'modify time',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq` (`ip`)
) ENGINE=InnoDB AUTO_INCREMENT=106 DEFAULT CHARSET=utf8

用ip列建立了uk

测试批量插入

case 1.当一次插入的多条数据中,存在相同uk的情况:

select * from uk_test;
+-----+---------+---------------------+---------------------+
| id  | ip      | gmt_create          | gmt_modify          |
&
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值