快来帮帮我叭 2021-11-16 09:10 采纳率: 33.3%
浏览 307
已结题

mysql插入或更新或不插入的语句

读取备案数据写入数据库,备案状态为0
如果备案操作成功,则状态为1,失败则为2
如何在第二次插入已经备案的数据到表里并满足以下插入条件:
1、账号相同 状态为2 则不插入数据,更新数据,将状态更新为1
2、账号相同 状态为1 则不插入数据,也不更新数据

  • 写回答

9条回答 默认 最新

  • 王胖胖_ 2021-11-16 10:28
    关注

    你的表有没有建唯一索引,如果没有的话,无法实现。如果有的话可以用ON DUPLICATE KEY UPDATE
    如 test1表中code字段为唯一索引,假如用code表示你说的账号,status表示状态,就可以用以下语句实现你说的
    1、账号相同 状态为2 则不插入数据,更新数据,将状态更新为1
    2、账号相同 状态为1 则不插入数据,也不更新数据
    INSERT INTO test1 (code, name,status)
    VALUES ('001', 'test1',0)
    ON DUPLICATE KEY UPDATE status=if(status=2,1,status)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月21日
  • 创建了问题 11月16日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部