【问题标题】:Column count doesn't match value count at row 1 VendorError:1136列计数与第 1 行的值计数不匹配 VendorError:1136
【发布时间】:2013-01-07 22:51:22
【问题描述】:

我遇到以下错误:

列数与第 1 行的值数不匹配

我的代码是:

Connection             con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/BFPL","root","[PASSWORD]");
PreparedStatement ps=con.prepareStatement("Insert into User values(?,?,?,?,?,?)");
ps.setString(1,t52.getText());
ps.setString(2,pw2.getText());
ps.setString(3,t53.getText());
ps.setString(4,t54.getText());
ps.setInt(5,100);
ps.setInt(6,11);
ps.executeUpdate();
PreparedStatement ps1=con.prepareStatement("Insert into User_Team values(?,?)");
ps1.setString(1,t52.getText());
ps1.setInt(2,0);
ps1.executeUpdate();
con.close();

在第一个表用户中,它们是 6 列,在第二个表 User_team 中,它们是 13 列,我只插入 2 个值,其中第一个值是主键。

【问题讨论】:

    标签: mysql jdbc


    【解决方案1】:

    如果您没有在表的所有列中插入,那么您必须像这样在插入查询中命名要插入的列

    Insert into User_Team (col1, col4) values(?,?)
    

    考虑一下 - 数据库引擎应该如何知道值属于哪些列?

    【讨论】:

      【解决方案2】:
      PreparedStatement ps1=con.prepareStatement("Insert into User_Team (col_name1, col_name2) values(?,?)");
      

      【讨论】:

        猜你喜欢
        • 2013-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多