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是自动增量。但我不知道你怎么不需要把用户ID。
我收到了这个错误。我想要自动增量ID。所以没必要输入吗?
Column count doesn't match value count at row 1
答案 0 :(得分:1)
删除" userid"如果您不打算为其提供值,请从列表中删除。
即。 INSERT INTO user (username, password, ...)
答案 1 :(得分:1)
您在INSERT
中指定了13列,但VALUES
子句中只有12个占位符。列数和值必须匹配。您需要从userid
中删除INSERT
列,或者需要添加额外的占位符(或文字值)来设置其值。
答案 2 :(得分:0)
您无法将值插入AutoInc列,因此只需将其从查询中删除:
insert into user(userName, password,...) values (and your values here)
答案 3 :(得分:0)
您的数据库是MySQL吗?如果是,您可以参考这篇关于将值插入自动增量列的帖子。 How to insert data to MySQL having auto incremented primary key?