2

次のエラーが発生しています。

列数が行 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();

最初のテーブル user では 6 列で、2 番目のテーブル User_team では 13 列で、最初の値が主キーである値を 2 つだけ挿入しています。

4

2 に答える 2

4

テーブルのすべての列に挿入しない場合は、次のように挿入クエリで挿入する列に名前を付ける必要があります

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

考えてみてください。DB エンジンは、値がどの列に属しているかをどのように認識すればよいでしょうか?

于 2013-01-07T22:53:55.393 に答える
2
PreparedStatement ps1=con.prepareStatement("Insert into User_Team (col_name1, col_name2) values(?,?)");
于 2013-01-07T22:54:43.593 に答える