java-向mysql数据库中插入数据时报错

问题描述

向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'

解决方案

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

insert into myTable1(name,age) values("zhangSam",18);

解决方案二:

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

解决方案三:

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

解决方案四:

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

时间: 2024-09-13 16:29:27

java-向mysql数据库中插入数据时报错的相关文章

数据库插入-向mysql中插入数据时报错,错误提示如下,代码如下

问题描述 向mysql中插入数据时报错,错误提示如下,代码如下 com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like,note) values (?,?,?,?,?,?

hbase-Hive中在整合HBase的表中插入数据时报错

问题描述 Hive中在整合HBase的表中插入数据时报错 伪分布式模式下整合Hadoop 2.2.0(自己基于Ubuntu 64位系统编译的)+HBase 0.98+Hive 0.14,其他功能操作都正常,但是在Hive中往基于HBase存储的表中插入数据时报错,网上找了很多方法,但都没用,具体错误如下: java.lang.IllegalArgumentException: Can not create a Path from an empty string at org.apache.had

3分钟如何向MySQL数据库中插入100万条数据

一.编写测试案例向MySQL数据库中插入百万条数据.测试数据表建表脚本如下:use db_xk; drop table if exists tb_test2; create table tb_test2 ( id int primary key auto_increment, subject varchar(50) not null, description varchar(200) not null, teacher_id int(10) zerofill not null, student_

如何在Java程序中访问mysql数据库中的数据并进行简单的操作_Mysql

在上篇文章给大家介绍了Myeclipse连接mysql数据库的方法,通过本文给大家介绍如何在Java程序中访问mysql数据库中的数据并进行简单的操作,具体详情请看下文. 创建一个javaProject,并输入如下java代码: package link; import java.sql.*; /** * 使用JDBC连接数据库MySQL的过程 * DataBase:fuck, table:person: * 使用myeclipse对mysql数据库进行增删改查的基本操作. */ public

java-当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码?

问题描述 当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码? 当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码? 怎么才能解决问题,跟jdbc driver Manager的设置有关系吗? 解决方案 数据库字符集 与 页面编码 都使得 是 uft-8?得统一 解决方案二: 建议编码格式采用UTF-8的格式 解决方案三: 在使用数据的每一个节点上,其编码方式必须要一致否则就会出现乱码.特别是使用MySQL时,客户端,连接器.数据库

Android开发中怎样调用mysql数据库中的数据

问题描述 Android开发中怎样调用mysql数据库中的数据 Android开发中怎样调用mysql数据库中的数据,数据库可以是本地也可以是联网的. 解决方案 Android本地是不能直接调用MySQL的,因为很简单,你的Android手机上面不可能安装MySQL服务的.你只能借助于网络通信, 让手机和电脑通过网络连接起来,这样你想在Android端访问MySQL数据库时,就可以通过一定的方式发送一些网络消息请求, 让电脑端去查询数据库,再通过网络把数据返回给Android端.当然,最简单的网

asp中网access数据库中插入数据乱码

问题描述 asp中网access数据库中插入数据乱码 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> meta http-eq

jsp-JSP向数据库中插入数据时显示全都是问号,怎么能解决一下啊?

问题描述 JSP向数据库中插入数据时显示全都是问号,怎么能解决一下啊? 插入中文就显示问号,数据库里是空白,这是为什么啊,怎么解决呢 解决方案 jdbc:mysql://127.0.0.1:3306/yourdb?useUnicode=true&characterEncoding=UTF8″ 类似这个,修改下编码字符. 解决方案二: 如果用的是mysql就在网上查一下如何修改数据库编码就可以了: 如果回答对您有帮助,请采纳 解决方案三: 这是编码格式问题,转换一下文字编码就行了.比如: 已有字符

保护MySQL数据库中重要数据的注意事项

本文介绍了保护MySQL数据库中重要数据受外部攻击的六个注意事项,以减少面临的风险. 与自动的数据库备份不同,对系统管理员来说,保护数据免受未授权用户的侵犯需要采取一定的行动.如果你用的是MySQL,就可以使用一些方便的功能来保护系统,来大大减少机密数据被未授权用户访问的风险. 企业最有价值的资产通常是其数据库中的客户或产品信息.因此,在这些企业中,数据库管理的一个重要部分就是保护这些数据免受外部攻击,及修复软/硬件故障. 在大多数情况下,软硬件故障通过数据备份机制来处理.多数数据库都自带有内置