Mysql中4种常见的插入方式
准备工作
CREATE TABLE `identity_table` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`identity_id` int(11) DEFAULT NULL COMMENT '身
4种常见insert方式 准备工作
1、insert into 最常用的插入方式,该命令在执行数据插入操作时,会在当前表中对主键或unique索引进行检测,若没有存在,则执行插入动作,若存在主键相同或unique索引相同的数据MySQL 插入数据,执行会报错。 当重复插入唯一索引的值时 2、insert ignore into 主要作用:用来排除数据重复的。 会忽略数据库中已经存在的记录,如果表中存在主键或unique索引相同的数据不在插入该条数据,反之则插入(存在则忽略,反之插入)这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。 3、replace into 如果表中存在与主键或unique索引相同的数据,则替换掉该主键或unique索引的记录,反之则插入。 在替换掉元素时相当于删除之前的插入最新的,相当于执行了两条sql。所以说替换掉元素时递增主键之前和之后是有区别的。 4、insert into *** on duplicate key update 一句话概括:当insert已存在的记录时执行update (与replace into的区别在于:replace是完全替换成新的数据记录,此处是修改不同的地方,新纪录中没有的部分依然采用老记录中的数据。) 可以看到受影响行为2行,这是因为这是将原有记录进行修改了,而不是插入执行。 当我们插入多条数据时有的存在有的不存在那么该如何执行呢?
可以看到在执行重复的记录时进行了update,在执行没有重复的记录时进行了插入。 on duplicate key update 后不只是跟固定值 也可以动态的传参
可以看到name列被动态的修改,在开发需求中,这样插入连事物都省的做。 (编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |