ON DUPLICATE KEY UPDATE用法】的更多相关文章

实际的开发过程中,可能会遇到这样的需求,先判断某一记录是否存在,如果不存在,添加记录,如果存在,则修改数据.在INSERT语句末尾指定ON DUPLICATE KEY UPDATE可以解决这类问题. 其用法如下:如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE操作,如果不会导致唯一值重复的问题,则执行INSERT操作. 如下sql:数据库表中需建立唯一索…
INSERT INTO `books ` (`name`,`count`,`num`) VALUES ('windows','1','2'),('','linux','1','3') ON DUPLICATE KEY UPDATE `count` = `count` + VALUES(`COUNT`), `num`=`num`+VALUES(`num`);…
INSERT INTO osc_visit_stats(stat_date,type,id,view_count) VALUES (?,?,?,?) ON DUPLICATEKEY UPDATE view_count=view_count+? INSERT INTO osc_space_visit_records(space,user,visit_count,ip,visit_time) VALUES(?,?,?,?,?) ON DUPLICATE KEY UPDATE visit_count=…
使用该语法可在插入记录的时候先判断记录是否存在,如果不存在则插入,否则更新,很方便,无需执行两条SQL INSERT INTO osc_visit_stats(stat_date,type,id,view_count) VALUES (?,?,?,?) ON DUPLICATE KEY UPDATE view_count=view_count+? -- osc_visit_stats 表有复合主键 (stat_date,type,id) 多字段更新INSERT INTO osc_space_vi…
要插入的数据  与表中记录数据的 惟一索引或主键中产生重复值,那么就会发生旧行的更新 弊端:造成主键自增不连续.适合数据量不大的表. ON DUPLICATE KEY UPDATE后面的条件 eg有如下表,仅主键存在UK(唯一)属性: select * from Student id name age 1 jack 20 2 rose 21 insert into Student ( id,name) values (1,'jack') ON DUPLICATE KEY UPDATE name…
在MySQL中进行条件插入数据时,可能会用到以下语句,现小结一下.我们先建一个简单的表来作为测试: CREATE TABLE `books` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `NewIndex1` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 1.insert ignore into 当插入数据时,如出现错误时,如…
项目用的ORM框架是用springdatajpa来做的,有些批量数据操作的话,用这个效率太低,所以用mybatis自己写sql优化一下. 一般情况,我们肯定是先查询,有就修改,没有就添加,这样的话,单个操作还好,如果是大量数据的话,每次都需要先查后改(如果用springdatajpa的话,添加之前还得查一遍),太消耗资源了. 那么mysql有没有解决的办法呢?当然是有的,我查了一些资料,有两种办法,一种是使用使用replace into ,还有一种是on duplicate key update…
要点:Insert into xxx on duplicate key update可以在唯一索引重复的情况下,进行更新操作.           (1) 插入里边的字段应该只有一个 唯一索引:            (2)多行插入用values(value)              (3) 当表中有auto_increment字段id,而且插入字段中含有另外一个unique index ,那么插入时id递增,更新时不变. 在看代码的过程中碰到了这一用法,不太理解,google了一下.它的意义…
on duplicate key update 使用:当数据库中有该数据就修改,没有就添加 MySQL语句如下: # id 不存在则添加数据,id存在就更新数据 INSERT INTO t_user(id,name,pwd) VALUE( 1, 'ZS', 'XXX') ON DUPLICATE KEY UPDATE PWD = 'XXX'; SQLAlchemy 用法: statement = insert(User).values(user_id=1, name='zs', pwd='xxx…
转: mysql insert时几个操作DELAYED .IGNORE.ON DUPLICATE KEY UPDATE的区别 博客分类: mysql基础应用   mysql insert时几个操作DELAYED .IGNORE.ON DUPLICATE KEY UPDATE的区别 zccst整理 一.DELAYED的使用 使用延迟插入操作 DELAYED调节符应用于INSERT和REPLACE语句.当DELAYED插入操作到达的时候,服务器把数据行放入一个队列中,并立即给客户端返回一个状态信息,…