[英]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.