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

 安安ahui 发布于 2023-02-11 20:13

我需要在表中插入唯一值,并且需要记录的id,需要在关系表中插入那些id,如果不存在则需要查询插入记录返回inset 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的值.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有