我需要在一个表中插入唯一的值,并且需要记录的id,需要在关系表中插入这些id,如果不存在则需要查询插入记录,如果存在则返回记录主键(Id)。
我想对多个值这样做,比如橙色、芒果、香蕉,比如批量插入。
模式:
------------
id | tag |
------------
1 | orange|
------------
我已经为一次记录做了这件事
INSERT INTO `tags` (`tag`)
SELECT 'myvalue1'
FROM tags
WHERE NOT EXISTS (SELECT 1 FROM `tags` WHERE `tag`='myvalue1')
LIMIT 1
发布了这个问题是为了找出一些优化的解决方案,我不想在代码中使用额外的循环来匹配db中的值。
https://stackoverflow.com/questions/20479971
复制相似问题