在线等: postgresql 用一句或几句sql实现 有则更新,无则插入 50

 我来答
DoramiHe
推荐于2018-04-08 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59543
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
这个要使用postgresql定时任务,类似oracle中的job,SQL Server中的代理(agent)。
需要安装pgagent插件,然后建立job就定时执行了。具体要参考pgagent插件的使用。
grace23450
2018-08-02 · TA获得超过1.3万个赞
知道大有可为答主
回答量:7081
采纳率:77%
帮助的人:2339万
展开全部
INSERT INTO tags (name, slug)SELECT 'Wow', 'wow'WHERE NOT EXISTS (SELECT id FROM tags WHERE slug = 'wow')RETURNING id;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zaobao000
2014-06-09 · TA获得超过348个赞
知道小有建树答主
回答量:319
采纳率:100%
帮助的人:232万
展开全部
insert into
select
--

where
not exists
(select
--
from
--
where
--

)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mance6065
2018-07-31
知道答主
回答量:16
采纳率:0%
帮助的人:4万
展开全部

postgresql 有个 CONFLICT 可以搞定

INSERT INTO 表名 (user_id, user_name) VALUES('001', 'sys管理员') 

ON CONFLICT (user_id) DO UPDATE SET user_name = '游客';

user_id 是 唯一的

网页链接

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
下扬州啊
2014-06-08 · TA获得超过2519个赞
知道大有可为答主
回答量:4870
采纳率:40%
帮助的人:2132万
展开全部
这个要先在客户端判断,如果仅仅使用sql来实现,比较麻烦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式