列数与第1行的值计数不匹配VendorError:1136

时间:2013-01-07 22:51:23

标签: mysql jdbc

我遇到以下错误:

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

我的代码是:

Connection             con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/BFPL","root","ilovepepsi");
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个值,其中第一个值是主键。

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

PreparedStatement ps1=con.prepareStatement("Insert into User_Team (col_name1, col_name2) values(?,?)");