Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL在Java中两次插入数据_Java_Mysql - Fatal编程技术网

MySQL在Java中两次插入数据

MySQL在Java中两次插入数据,java,mysql,Java,Mysql,我正在尝试从另一个表(购物车)向表(订单详细信息)插入数据。当我执行此操作时,它会在数据库中插入两次数据。我不明白为什么会这样。有人能帮我吗?提前谢谢 卡特道 卡特斯 在代码中添加一些日志语句 重复插入问题可能有两个原因 (1) 您的方法“insertCart”从代码中调用了2次。如果在insertCart方法中添加System.out.println()或某些日志语句。。。你会发现的 或 (2) 在插入查询之前打印SELECT查询,如下所示 System.out.println(SELECT

我正在尝试从另一个表(购物车)向表(订单详细信息)插入数据。当我执行此操作时,它会在数据库中插入两次数据。我不明白为什么会这样。有人能帮我吗?提前谢谢

卡特道

卡特斯


在代码中添加一些日志语句

重复插入问题可能有两个原因

(1) 您的方法“insertCart”从代码中调用了2次。如果在insertCart方法中添加System.out.println()或某些日志语句。。。你会发现的

(2) 在插入查询之前打印SELECT查询,如下所示

System.out.println(SELECT username, product_code, product_name, qty, product_price, product_pic, order_status FROM cart WHERE username = ? AND order_status = 1) 
//别忘了更换?具有适当的价值


从SELECT语句中获取的记录数必须与插入到表中的记录数相同

也许您调用了该方法两次?运行SELECT
“选择用户名、产品代码、产品名称、数量、产品价格、产品图片、来自购物车的订单状态,其中用户名=?和订单状态=1”
查询并检查它返回了多少条记录请关闭语句和finally block中的连接@JayShankarGupta它返回2条记录,并按顺序插入4条记录。\u详细信息???@AbrahamArnoldI尝试了它,并打印了两次SQL查询。我如何修复它?这意味着您要调用该方法两次,只需检查调用insertCart()方法的代码即可。您必须通过添加一些日志语句来调试代码。我在这里添加了完整的代码。我不会两次调用此方法。。那么问题出在哪里呢?因为Sql语句打印了两次,所以它证明了该方法调用了两次。但是在没有获得完整代码的访问权限的情况下,我无法对任何内容进行注释。InsertOrdetails()方法可能调用了两次。
public boolean insertOrderDetails(String username)
    {
        CartDAO dao = new CartDAO();
        return dao.insertCart(username);
    }
System.out.println(SELECT username, product_code, product_name, qty, product_price, product_pic, order_status FROM cart WHERE username = ? AND order_status = 1)