我遇到以下错误:
列数与第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个值,其中第一个值是主键。
答案 0 :(得分:3)
如果您没有插入表的所有列,那么您必须在插入查询中命名要插入的列,如下所示
Insert into User_Team (col1, col4) values(?,?)
考虑一下 - 数据库引擎应该如何知道值属于哪些列?
答案 1 :(得分:1)
PreparedStatement ps1=con.prepareStatement("Insert into User_Team (col_name1, col_name2) values(?,?)");