MySQL的插入语法提供了类似insertOrUpdate的语法,这种方式大部分存储系统都有类似的机制比如在Solr或者ElasticSearch中,如果主键一样的就更新,不一样就添加,只不过在数据库里可以是主键单个或多个字段...比如表里面有id,age,name,address,score四个字段
联合唯一索引 是id+age+name(表里只有索引没有主键,后面单说)
向一张空表插入下面的数据
Java代码
INSERT...1)
ON DUPLICATE KEY UPDATE
name='王五',
address='北京海淀'
score = score + 1
第一次,由于这条数据的联合唯一索引不存在...执行insert或者update时,可以使用批量处理模式,如下面的语句,如果表里原来存在数据,那么久更新,更新的内容等于从VALUES取出来的,如果有累加的,score=score+1会把原来记录里面的值取出来然后...3' ,'朝阳',3)
VALUES( 4, 25 , '张三4' ,'济南',4)
ON DUPLICATE KEY UPDATE
name= VALUES(name)//从插入的值里面获取到