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

2018-10-24 22:17:12 +08:00
 Incentancy

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

请问这是为什么?

2220 次点击
所在节点    Java
5 条回复
Incentancy
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
2018-10-24 23:37:17 +08:00
主键重复,把数据库的那条数据删了
Incentancy
2018-10-25 08:30:20 +08:00
不是这个问题,是用 idea 写 jsp 启动后,页面代码应该是加载了两次。不明白这是怎么回事
Antihank
2018-10-25 09:05:48 +08:00
printStackTrace 看看执行路径咯
johnniang
2018-10-25 21:11:22 +08:00
清空数据库重试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/500825

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX