mysql更新字段记录没有则添加

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql更新字段记录没有则添加相关的知识,希望对你有一定的参考价值。

表格a中有字段id,name,score
其中name字段为唯一,id为自动增长字段

现在我要更数据,比如将Jack的score增加10,本来这样写就可以
UPDATE a SET score=score+10 WHERE name='Jack'

但是如果数据库没有name值为Jack的记录,那就要事先查询下,没有该条记录则先要先插入。
因为该表格执行的大多数都是更新操作,要是每次更新都去查看下一来会效率不高,二来代码不够精简。
要使得更新字段时,无则插入,有则直接更新,而且执行效率高,有没有办法用一条SQL语句解决呢?

请把ID字段去除,然后用replace就行了
即:replace a SET score=score+10 WHERE name=\'Jack\'
注以上指令没有验证,请自行修改
参考技术A replace into a (score) values(score+10) WHERE name='Jack'

oracle 有记录就更新没有添加问题

我想写了SQL语句对一个表的数据进行添加或更新比如SID为表的主键如果SID存在了,我就跟具SID来更新这条记录如果SID不存在,就添加一条SQL记录 我在现在的做法是在程序里跟具SID来查询记录是否成在不存在就添加,存在就修改 能不能用一个SQL语句来实现,具体怎么实现,不用存储过程哦

参考技术A 你这玩意儿一条语句实现不了的 要么存储过程 要么两条sql 才能实现 且要结合程序 参考技术B 用begin and 和 if else 连的一起使用 进行查询或者使用联合查询语句 参考技术C 有个好方法,直接update,取出影响行数,如为0则插入。 参考技术D GOOGLE ORACLE MERGE INTO

以上是关于mysql更新字段记录没有则添加的主要内容,如果未能解决你的问题,请参考以下文章

mysql批量更新,数据存在则更新,不存在则插入

记录solrsolr7.2.1原子更新

MySQL——添加更新与删除数据

MySql 更新update表中某一个字段记录

ORACLE 如果任何字段更改,则添加新记录

MySQL-添加更新与删除数据