首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >mysql:如果不存在则插入记录,否则返回记录的id

mysql:如果不存在则插入记录,否则返回记录的id
EN

Stack Overflow用户
提问于 2013-12-10 04:22:09
回答 3查看 18K关注 0票数 22

我需要在一个表中插入唯一的值,并且需要记录的id,需要在关系表中插入这些id,如果不存在则需要查询插入记录,如果存在则返回记录主键(Id)。

我想对多个值这样做,比如橙色、芒果、香蕉,比如批量插入。

模式:

代码语言:javascript
复制
------------
id | tag   |
------------
1  | orange|
------------

我已经为一次记录做了这件事

代码语言:javascript
复制
INSERT INTO `tags` (`tag`) 
SELECT 'myvalue1' 
FROM tags
WHERE NOT EXISTS (SELECT 1 FROM `tags` WHERE `tag`='myvalue1') 
LIMIT 1

发布了这个问题是为了找出一些优化的解决方案,我不想在代码中使用额外的循环来匹配db中的值。

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

https://stackoverflow.com/questions/20479971

复制
相关文章

相似问题

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