V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Incentancy
V2EX  ›  Java

IDEA 写一个最简单的 jsp 向数据库插值,为何数据会被多次插入?

  •  
  •   Incentancy · 2018-10-24 22:17:12 +08:00 · 2298 次点击
    这是一个创建于 2214 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在 IDEA 上用 java 写了一个最简单的向数据库插值代码,但是运行后却一直报 Duplicate key...之类的。

    请问这是为什么?

    5 条回复    2018-10-25 21:11:22 +08:00
    Incentancy
        1
    Incentancy  
    OP
       2018-10-24 22:20:02 +08:00
    <%@ page import="java.sql.Connection" %>
    <%@ page import="java.sql.DriverManager" %>
    <%@ page import="java.sql.Statement" %>
    <html>
    <body>
    <h2>Hello World!</h2>
    <%
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/oop", "root", "root");
    Statement stat = conn.createStatement();
    String sql = "INSERT INTO student(stu_id, stu_name, gender) VALUES ('20181024', '小明', '男')";
    int i = stat.executeUpdate(sql);
    //out.println("成功添加"+i+"行");
    stat.close();
    conn.close();
    %>
    </body>
    </html>



    以上是代码。

    以下是部分报错信息:

    ...

    javax.servlet.ServletException: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '20181024' for key 'PRIMARY'

    ...



    同样的代码在 Eclipse 上就没有出这个问题,请问这是为什么???
    ningmengmao
        2
    ningmengmao  
       2018-10-24 23:37:17 +08:00 via Android
    主键重复,把数据库的那条数据删了
    Incentancy
        3
    Incentancy  
    OP
       2018-10-25 08:30:20 +08:00 via Android
    不是这个问题,是用 idea 写 jsp 启动后,页面代码应该是加载了两次。不明白这是怎么回事
    Antihank
        4
    Antihank  
       2018-10-25 09:05:48 +08:00
    printStackTrace 看看执行路径咯
    johnniang
        5
    johnniang  
       2018-10-25 21:11:22 +08:00
    清空数据库重试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2644 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:50 · PVG 09:50 · LAX 17:50 · JFK 20:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.