String sql = "INSERT INTO user (userid, username, password, lastname, firstname, "
+ "middlename, birthdate, gender, address, email, contact, "
+ "marital_status, religion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)";
try {
pst = conn.prepareStatement(sql);
pst.setString(1, username);
pst.setString(2, password.toString()); //chartype
pst.setString(3, lastName);
pst.setString(4, firstName);
pst.setString(5, middleName);
pst.setString(6, birthdate);
pst.setString(7, gender1);
pst.setString(8, address1);
pst.setString(9, email1);
pst.setLong(10, mobile);
pst.setString(11, status1);
pst.setString(12, religion1);
pst.execute();
}catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
У меня есть 13 столбцов, а userid - автоинкремент. Но я не знаю, как вам не нужно вводить идентификатор пользователя.Как вставить значения в базу данных в java
И я получил эту ошибку. И я хочу Auto Increment ID. Так что нет нужды вводить правильно?
Column count doesn't match value count at row 1
вы можете удалить это поле, так как оно является столбцом auto_increment или просто передает значение «NULL». например, 'VALUES (NULL,?,?, .....' –
Отправлять 'NULL' или удалять столбец' userid'. Я также предлагаю вам использовать ['INSERT INTO ... SET'] (http: //milov.nl/2836), чтобы улучшить удобочитаемость. –
Избегайте user_id в команде вставки или просто передайте 'null'. –