文章目录
- 我们正常的mysql插入数据语句
- 加个前提
- 完结
我们正常的mysql插入数据语句
INSERT INTO `guild_nakadai`.`admin_role_permission` (`role_id`, `permission_id`, `type`)
VALUES ((SELECT id FROM `guild_nakadai`.`admin_roles` WHERE name="员工"),(SELECT id FROM `guild_nakadai`.`admin_permissions` WHERE name="基础数据汇总"),3
);
他有一个缺点,当我们不小心执行了几次时,会插入多条相同的垃圾数据
加个前提
要在执行这个 MySQL 语句时添加一个前提条件,即只有表里没有相同数据才进行添加操作,你可以使用 INSERT IGNORE INTO 的方式来实现。案例:
INSERT IGNORE INTO `guild_nakadai`.`admin_role_permission` (`role_id`, `permission_id`, `type`)
SELECT (SELECT id FROM `guild_nakadai`.`admin_roles` WHERE name="员工"),(SELECT id FROM `guild_nakadai`.`admin_permissions` WHERE name="基础数据汇总"),3
FROM dual
WHERE NOT EXISTS (SELECT 1 FROM `guild_nakadai`.`admin_role_permission` WHERE role_id = (SELECT id FROM `guild_nakadai`.`admin_roles` WHERE name="员工") AND permission_id = (SELECT id FROM `guild_nakadai`.`admin_permissions` WHERE name="基础数据汇总") AND type = 3
);
完结
赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注
,以便我第一时间收到反馈,你的每一次支持
都是我不断创作的最大动力。当然如果你发现了文章中存在错误
或者有更好的解决方法
,也欢迎评论私信告诉我哦!
好了,我是向宇
,https://xiangyu.blog.csdn.net
一位在小公司默默奋斗的开发者,出于兴趣爱好,最近开始自学unity,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!php是工作,unity是生活!如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~