qh_QH
2018-02-21 09:48
采纳率: 50%
浏览 1.7k
已采纳

java web mysql数据库插入数据异常

最近在用java开发做毕业设计,在插入商品数据的时候,在网页插入了一条数据卡了一下,然后
查看数据库发现竟然插入了三条一样的数据。再然后我又插入了一条数据,插入的时候
没有卡一下,然后查看数据库,发现正常地插入了一条。各位大神谁能解释一下为什么?
还有怎么解决?我商品id是自增长的,用spring管理事务。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

18条回答 默认 最新

  • 张音乐 2018-02-24 05:53
    已采纳

    没有做防止重复提交处理,正常是用token令牌来保证表单只提交一次的

    已采纳该答案
    打赏 评论
  • jiuweiC 2018-02-21 10:03

    你看看是不是执行插入的地方逻辑错误抛异常了,控制台有错误提示吗

    打赏 评论
  • qq_39860743 2018-02-21 10:46

    能贴出执行插入的代码不

    打赏 评论
  • riyue3 2018-02-21 10:52

    卡的时候刷新页面重复提交了两次?

    打赏 评论
  • chenl_ 2018-02-21 12:47

    卡了,你是不是连点了好几下?

    打赏 评论
  • chenl_ 2018-02-21 12:47

    卡了,你是不是连点了好几下?

    打赏 评论
  • qh_QH 2018-02-21 14:44

    控制台没异常,代码块比较多,我就不贴了,逻辑应该没问题,插了几十条了,就一条有异常。还有卡住的时候我没有多点....

    打赏 评论
  • PerfectAngle 2018-02-21 14:45

    查看开发人员工具(F12)中的NetWork中是否有3条提交信息,根据你说的卡,有可能是提交多次造成的。并且进入java后端后,是不可能提交3次的,具体不知道怎么形容,只能形容为在提交后执行的方法基本是单线程。

    打赏 评论
  • KinseyCCC 2018-02-22 01:52

    我也出现过这种问题,增加数据的时候看数据库,同时多插入了两条空数据。不过不影响就是了。

    打赏 评论
  • nb19008 2018-02-22 01:54

    这样的问题,调试进代码走走,应该能找到问题

    打赏 评论
  • zxtx888 2018-02-22 01:58

    我碰道过一次 那次是硬盘有问题 换了个盘就行了

    打赏 评论
  • 老许要老婆么 2018-02-22 02:02

    猜测卡的时候应该连续点击submit按钮了

    打赏 评论
  • weixin_40609759 2018-02-22 02:09

    一般出现这种情况,如果后台逻辑没有问题,那一般就是由于网络或机器反应慢,用户端有多次点击提交。通常解决这种问题的方法是,点击提交一次
    后提交按钮失效,待后台操作完成后返回状态值,再恢复按钮为可操作状态。

    打赏 评论
  • 技术影 2018-02-22 02:18

    你这个现象我也曾遇到过。这个是因为发生了多次提交事件,具体为什么触发了多次,我这边的问题是因为鼠标老化导致,虽然只点击一次但是触发了多次点击事件。还有你如果想防止这种情况的发生,可以在触发一次后台事件后将按钮标记为disabled

    打赏 评论
  • fengxuanyuan2 2018-02-22 03:23

    按你说的商品id是自增长的,而插入了三条一样的数据;是商品id都是一样的吗?如果不是。可以打开浏览器开发者模式,看看是不是重复提交了3次请求

    打赏 评论
  • Daniel_dxf 2018-02-22 06:25

    可能是你调试代码的时候js代码断点没有释放,然后你多次点击新增然后再释放断点导致的

    打赏 评论
  • qq_40533281 2018-02-22 08:16

    数据类型是否一至,外键是否关连

    打赏 评论
  • ruixihoutian 2018-02-24 14:51

    debug一下看是不是执行了3次插入操作

    打赏 评论