首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不从java获取数据到mysql中

不从java获取数据到mysql中
EN

Stack Overflow用户
提问于 2012-10-04 13:03:06
回答 3查看 135关注 0票数 0

我不会把数据放入mysql

代码语言:javascript
复制
    void connectionDB() {
        try {
            Class.forName(fileReader.getdriver());
            String url = "jdbc:mysql://"+ fileReader.gethost() + ":" + fileReader.getDBport() +"/" + fileReader.getdbname();
            conn = DriverManager.getConnection(url, fileReader.getusername(),fileReader.getpasswd());
         } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException se) {
            se.printStackTrace();
        }
    }
public void snmp_mysql(String ipv6Address, String[] resString) {
try {
    stat = conn.createStatement();
    String sql =
        ("INSERT INTO Statistics3 VALUES ('" + ipv6Address + "','"
            + dateTime.trim() + "'," + battpercent + ")");
    stat.executeUpdate(sql);
    stat.close();

    System.out.println("updating");
 } catch (SQLException e) {
             e.printStackTrace();
             System.out.println("SQL statement is not executed!");
         }
    }

代码未显示任何错误,并且在MySQL中显示空集(0.01秒)。之前它工作正常,并得到了输出。我没有做任何改变。我不知道为什么它不能工作。我在另一个项目中使用了另一个类,并在现有的表Statistics3中添加了一些列,并使用了mysql作为该类。我没有在此class.That中做任何更改mysql不会影响mysql我知道当我运行该项目时,我在输出过程中遇到了这些错误

代码语言:javascript
复制
java.sql.SQLException: Column count doesn't match value count at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-04 13:29:51

您可以显式指定要插入数据的列。如您所见,您还可以跳过某些列。

代码语言:javascript
复制
String sql =
    "INSERT INTO Statistics3 (column1, column2, column4) VALUES ('" + ipv6Address
                            + "','" + dateTime.trim() + "'," + battpercent + ")";

column1column2column4是与您的值对应的列- ipv6Addressdatetimebattpercent。在你的桌子上..

因此,如果您已经插入了一个column3 - column,那么您可以直接跳过它。它将获得您设置的默认值。

票数 3
EN

Stack Overflow用户

发布于 2012-10-04 13:45:43

向现有表Statistics3中添加了一些列

这就是你的问题。值的数量与存在的列数不匹配。

您应该使用SQL语句的版本

代码语言:javascript
复制
 insert into table (col1,col2) values (val1,val2) 
票数 0
EN

Stack Overflow用户

发布于 2012-10-04 13:57:33

insert查询中给出的值与数据库中的列不匹配。确保查询中的所有列(在表中)都有值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12720537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档