2 hzj728218965 hzj728218965 于 2013.05.16 07:57 提问

向mysql数据库中插入数据时报错
public class categorydao {
    public static void save(category c) throws SQLException{
        Connection conn=(Connection) DB.getConnection();
        String sql=null;
        if(c.getId()==-1){
            sql="insert into category values(null,?,?,?,?,?)";  
        }else{
          sql="insert into category values("+c.getId()+",?,?,?,?,?)";
          } 
        PreparedStatement ps=conn.prepareStatement(sql);
        try {
            ps.setString(1,c.getName() );
            ps.setString(2,c.getDescr());
            ps.setInt(3, c.getPid());
            ps.setInt(4, c.isIsleaf()?0:1);
            ps.setInt(5, c.getGrade());
            ps.executeUpdate();

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            DB.free(null, ps, conn);
        }

    }

错误如下:(反正插入不了)

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '1' for key 'PRIMARY'

4个回答

franzhong
franzhong   2013.05.16 09:02
已采纳

主健内空重复了
主健设置自增了没?有没有使用外健?
不需要插入主键的值,在插入的时候指定字段例如

insert into myTable1(name,age) values("zhangSam",18);
u010713868
u010713868   2013.05.16 09:33

我给你找找啊 , 一会告诉你!

handsometao7
handsometao7   2013.05.16 18:19

字段全包含了?是一一对应的吗

u010092883
u010092883   2013.05.17 09:18

插入数据时先验证是否存在

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java程序想mysql数据库插入数据乱码解决方法()
在eclipse  mysql数据库编码全调成utf-8的编码后还是乱码,怎么办? 解决办法   在jdbc连接url     jdbc:mysql://localhost:3306/mav?useUnicode=true&characterEncoding=UTF-8    ps:UTF-8只能这么写插入的数据才不会是乱码  例如utf-8 utf8   都是不行的    已验证。
向MySQL数据库中插入数据,sql语句没问题,但插入失败也不报错的原因
1. 这几天在做一个Javaweb的图书商城项目,在操作数据库的过程中,遇到一个问题?          向数据库中的order数据表中插入数据时,一直插入数据失败。没有报SQL语句语法错误,Eclipse开发工具的console打印台中也没有报错,就是数据插不进去,不断的修改测试和打印,也没有发现问题。 数据表order和Java代码如下:
eclipse插入数据到mysql中的乱码问题解决
一、设置MyEclipse的字符编码,步骤如下: 1、进入Window--Preferences--General--Workspace,Text file encoding 选项中默认的Default(GBK)选项更改为Other,并将值设为utf-8; 2、进入Window--Preferences--MyEclipse--Files and Editors,将这个选项下面的:AS
Qt中操作数据库例子-插入数据
Qt中操作数据库例子-插入数据 环境:win7,vs2013,Qt5.6.0(32 bit),qt add in 1.2.5 主要用QSqlTableModel实现。
SQL Server中关于临时表概念及创建和插入数据等问题
SQL Server中关于临时表概念及创建和插入数据等问题 本地临时表 全局临时表 在程序中向临时表插入数据时报错……
mysql插入中文数据乱码的解决方法(原创)
mysql插入中文数据乱码的解决方法(原创),今天向mysql数据库插入中文字段时变成了??????,研究若干文章后得到了解决,特此分享。
nodejs 连接MySQL数据库及插入数据遇见的问题总结
1:插入数据遇见的问题 自己本身对MySQL语法不太熟悉,遇见这个错误:“SQL Error: 1064, SQLState: 42000错误”。看见别人说是字段用了敏感字段,但是我的错误不是这样的,原因是我的insert语法错误,以后给自己提个醒。。。 原来代码: INSERT INTO cdweather (monpoint,aqi,aqiC,pripoll)VALUES(jsonDa[
使用python向MySQL数据库中插入数据时报错UnicodeEncodeError的解决办法
版本说明: Python3.5 MySQL5.7 mysqlclient应该是最新的 >>> ================== RESTART: C:\Users\rHotD\Desktop\test.py ================== Traceback (most recent call last): File "C:\Users\rHotD\Desktop\test.py",
向MySQL数据库中插入数据,sql语句没问题,但插入失败也不报错?
向数据库中的order数据表中插入数据时,一直插入数据失败。没有报SQL语句语法错误,Eclipse开发工具的console打印台中也没有报错,就是数据插不进去,不断的修改测试和打印,也没有发现问题。原因?
向mysql数据表中插入数据失败的原因
1.案例代码: $sql1="insert into content(category,subject,content,username,release_date) values('{$category}','{ $subject}','{$content}','{$user}','{$date}')";//向数据表中插入数据的操作$res1=dml($sql1); 2.错误原因: