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

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

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

  • 写回答

9条回答 默认 最新

  • 王胖胖_ 2021-11-16 18: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月29日
  • 已采纳回答 11月21日
  • 创建了问题 11月16日

悬赏问题

  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!