我的问题是。我在MySQL中有一个'popular‘表,带有字段'id','title',’popular‘。我需要插入信息到字段“标题”,如果信息不存在或增加‘流行’的值,如果信息存在。这样做的最佳实践是什么?
发布于 2014-03-31 18:50:46
发布于 2014-03-31 19:26:32
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,可以将其从更新列表中删除。
发布于 2014-03-31 19:27:37
示例代码:
if exists (select * from contact where name = @name) then
select -1;
else
insert into contact(name) values(@name);
select last_insert_id();
end if;参考:
https://stackoverflow.com/questions/22759614
复制相似问题