当前位置:编程学习 > JAVA >>

报错提示 Duplicate entry '2013-10-10 20:25:54' for key 1

使用Eclipse,连接数据库,为什么我在使用UPDATE语句时,会报错提示  Duplicate entry '2013-10-10 20:25:54' for key 1 单引号里的是执行语句时间,但是我并没有将时间赋予key 1啊 这是为什么呢?这个报错是说什么错了? java  SQL 数据库 eclipse --------------------编程问答-------------------- 2013-10-10 20:25:54 所在的列有唯一属性要求,数据库中已经存在2013-10-10 20:25:54了,故不可再插入更新了。 --------------------编程问答-------------------- 我是用一个数组记录先JTABLE单元格的横纵坐标,根据横纵坐标得知单元格中要修改的值,完后用for循环使用UPDATA语句依次更新数据库中其对应的单元格的值,为什么会报错Duplicate entry '2013-10-12 21:36:35' for key 1 该如何更改? --------------------编程问答--------------------
引用 2 楼 u011869274 的回复:
我是用一个数组记录先JTABLE单元格的横纵坐标,根据横纵坐标得知单元格中要修改的值,完后用for循环使用UPDATA语句依次更新数据库中其对应的单元格的值,为什么会报错Duplicate entry '2013-10-12 21:36:35' for key 1 该如何更改?
你的update语句中有涉及时间的这一列吗,这一列的值怎么来的,可否把你的update语句贴出来看看呢,有可能是你的多个update语句中涉及了相同的时间值,导致重复了。  --------------------编程问答--------------------  //SaveSQLName是所要修改的数据库中的名称,sN是主键,sn0是所要修改的字段对应的主键的值
//DBEngine.closeDB();是关闭数据库
ResultSet rs=null;
 PreparedStatement pstmt=null;
 String sql= "UPDATE basic_inf SET  "+ SaveSQLName +"=? where sN ="+ sn0 +"";
pstmt=DBEngine.initializeDB(sql);

try {

pstmt.setString(1, value);
pstmt.executeUpdate() ;

} catch (SQLException a) {
a.printStackTrace();

}
finally
{
DBEngine.closeDB();
}
} --------------------编程问答-------------------- value是要修改成的值 --------------------编程问答-------------------- 没有涉及当前时间更改的值 --------------------编程问答-------------------- 楼主 上面给的信息似乎看不出什么东西 你这个SQL语句一次性操作的数据多吗 少的话 直接断点吧 每一步完成后 查看数据库的值 同时查看SQL中要修改的数据 看能找出问题不  --------------------编程问答-------------------- 报的错误是重复,再仔细检查看看。 --------------------编程问答-------------------- 代码问题,调试下解决
补充:Java ,  Eclipse
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,