小编Abu*_*usi的帖子

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

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

我想为多个值做这个,比如橙色,芒果,香蕉,就像批量插入一样.

模式:

------------
id | tag   |
------------
1  | orange|
------------
Run Code Online (Sandbox Code Playgroud)

我把这个记录为一个记录

INSERT INTO `tags` (`tag`) 
SELECT 'myvalue1' 
FROM tags
WHERE NOT EXISTS (SELECT 1 FROM `tags` WHERE `tag`='myvalue1') 
LIMIT 1
Run Code Online (Sandbox Code Playgroud)

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

mysql sql sql-insert

21
推荐指数
1
解决办法
1万
查看次数

标签 统计

mysql ×1

sql ×1

sql-insert ×1