开发者社区> 问答> 正文

MySQL 语句级避免重复插入

数据库:option_user
1
我想要的功能是:用户(userid=1)选择optionid(1,2,3见上图),如果数据库里有(optionid---userid)就不插入,没有就插入;如果用户没有选择的optionid,数据库里有则删除;
麻烦了,望指点。。。

展开
收起
落地花开啦 2016-02-19 14:41:57 2309 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    如果表里只有这两列,建联合主键(userid,optionid)
    如果数据库里有(optionid---userid)就不插入,没有就插入;

    用`insert ignore into`
    注意:如果表里还有其他唯一索引触发了冲突,但联合主键没有冲突,也会导致插入失败

    如果用户没有选择的optionid,数据库里有则删除;
    delete from xxx where userid=xxx;

    2019-07-17 18:44:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像