首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >INSERT INSERT if NOT EXISTS或increment if EXISTS

INSERT INSERT if NOT EXISTS或increment if EXISTS
EN

Stack Overflow用户
提问于 2014-03-31 18:47:41
回答 3查看 238关注 0票数 0

我的问题是。我在MySQL中有一个'popular‘表,带有字段'id','title',’popular‘。我需要插入信息到字段“标题”,如果信息不存在或增加‘流行’的值,如果信息存在。这样做的最佳实践是什么?

EN

回答 3

Stack Overflow用户

发布于 2014-03-31 18:50:46

票数 0
EN

Stack Overflow用户

发布于 2014-03-31 19:26:32

代码语言:javascript
复制
INSERT INTO popular (title, popularity) VALUES (:the_title, 1)
ON DUPLICATE KEY UPDATE id = LAST_INSERT_ID(id), popularity = popularity + 1

确保您对title有唯一的约束

id = LAST_INSERT_ID(id)允许您使用LAST_INSERT_ID (或与您的MySQL id等效的函数)获取插入/更新的记录的API。如果您不需要id,可以将其从更新列表中删除。

票数 0
EN

Stack Overflow用户

发布于 2014-03-31 19:27:37

示例代码:

代码语言:javascript
复制
if exists (select * from contact where name = @name) then
    select -1;
else
    insert into contact(name) values(@name);
    select last_insert_id();
end if;

参考:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22759614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档