我试图将我的应用程序中的一些数据插入到我的数据库中,但我不断收到下面所述的错误。
我的表中有4列,其中一列设置为自动递增。我怀疑是造成错误。
任何人都可以帮我解决这个问题吗?
表格列:
Id (auto increment), userID(generated from application), username, name
代码:
String sql = "insert into details values (?, ?, ?)";
PreparedStatement preparedStatement = connect.prepareStatement(sql);
preparedStatement.setInt(1, userID);
preparedStatement.setString(2, username);
preparedStatement.setString(3, name);
preparedStatement.executeUpdate();
preparedStatement.executeUpdate(sql);
错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?, ?, ?)' at line 1
答案 0 :(得分:2)
试试这个:
insert into details (userID, username, name) values (?, ?, ?)
答案 1 :(得分:0)
您必须将sql语句更改为:
String sql = "insert into details (userID, username, name) values (?, ?, ?)";
因为你没有添加表的所有属性,你必须说出你添加的参数。
答案 2 :(得分:0)
显然这只是一个简单的人为错误。写了两次执行语句。
String sql = "insert into details values (?, ?, ?)";
PreparedStatement preparedStatement = connect.prepareStatement(sql);
preparedStatement.setInt(1, userID);
preparedStatement.setString(2, username);
preparedStatement.setString(3, name);
preparedStatement.executeUpdate(); <-- Changed to preparedStatement.execute();
preparedStatement.executeUpdate(sql); <-- Removed this line