[英]MySQL insert with auto increment
我正在尝试将应用程序中的某些数据插入数据库中,但是我仍然收到以下错误消息。
我的表中有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
尝试这个:
insert into details (userID, username, name) values (?, ?, ?)
您必须将sql语句更改为此:
String sql = "insert into details (userID, username, name) values (?, ?, ?)";
因为您未添加表的所有属性,所以必须说出要添加的参数。
显然,这只是一个简单的人为错误。 编写两次execute语句。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.