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语句解决呢?
即: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更新字段记录没有则添加的主要内容,如果未能解决你的问题,请参考以下文章