这个程序昨天运行的时候还好好的,一切顺利。
可是今天再运行却出现了这个异常提示:com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Duplicate entry 002 for key 1
源程序如下:
import java.sql.*;
public class xhy
{
public static void main(String args[])
{
ResultSet rs;
try{ Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e)
{
System.out.println(" "+e);
}
try{
Connection con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/xhy","root","123456");
Statement sql=con.createStatement();
// String s="INSERT INTO book VALUES('002','JAVA','清华出版社',43.2)";
String s1="INSERT INTO book VALUES('003','JSP','中山大学出版社',28.0)";
sql.executeUpdate(s1);
rs=sql.executeQuery("select BookId from book");
while(rs.next())
{
String id=rs.getString(1);
System.out.println("学号:"+id);
}
con.close();
}
catch(SQLException e)
{
System.out.println(e);
}
}
}
问题分析:这个问题提示了我们已经重复导入数据到数据库,这是不允许的。
解决这个问题的方法就是用“//”注释掉已经添加的数据,然后,写入新的不一样的语句,运行则可。如绿色背景所示
以上提供一种这类问题的解决思路,仅作一个例子。