У меня есть одна простая форма регистрации с jsp, сервлетом и mysql. Но я могу зарегистрировать только одного пользователя, тогда я получил эту ошибку:
Severe: Message: Duplicate entry '1' for key 'PRIMARY'
. Конечно, когда я удаляю этого пользователя из базы данных, я могу создать снова, но только одного пользователя. Кроме того, я добавляю автоматическое приращение в этот столбец:
CREATE TABLE user (id int(3) NOT NULL AUTO_INCREMENT ...
Это также мой метод вставки в db:
public class UserDAO {
public int registerUser(User User) throws ClassNotFoundException, SQLException {
String INSERT_USERS_SQL = "INSERT INTO user"
+ " (id, firstName, lastName, username, password, email) VALUES "
+ " (?, ?, ?, ?, ?, ?)";
int result = 0;
Class.forName("com.mysql.jdbc.Driver");
try (Connection connection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/cs230projekat","root","");
// Step 2:Create a statement using connection object
PreparedStatement preparedStatement = connection.prepareStatement(INSERT_USERS_SQL)) {
preparedStatement.setInt(1, 1);
preparedStatement.setString(2, User.getFirstName());
preparedStatement.setString(3, User.getLastName());
preparedStatement.setString(4, User.getUsername());
preparedStatement.setString(5, User.getPassword());
preparedStatement.setString(6, User.getEmail());
System.out.println(preparedStatement);
// Step 3: Execute the query or update query
result = preparedStatement.executeUpdate();
} catch (SQLException e) {
// process sql exception
printSQLException(e);
}
return result;
}
Спасибо.