jdbc - Error: java.sql.BatchUpdateException: Field 'stu_id' doesn't have a default value -


i'm new jdbc , sql , have program when run it, following error:

java.sql.batchupdateexception: field 'stu_id' doesn't have default value. 

i have tried manipulating line

pst = con.preparestatement("insert student(first_name,last_name,address) values  (?,?,?)"); 

by adding 4th question mark in values, , adding stu_id in insert student(). however, have given other errors. don't know do?

package java11;  import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedstatement; import java.sql.sqlexception; import java.sql.statement;  public class preparedexample { public static void main(string[] args) {     connection con=null;     preparedstatement pst=null;     try {         class.forname("com.mysql.jdbc.driver");         con = drivermanager.getconnection("jdbc:mysql://localhost:3306/world","root","sree7rama3**");         pst = con.preparestatement("insert student(first_name,last_name,address) values (?,?,?)");          for(int i=1;i<=20;i++){             //pst.setint(1, i);             pst.setstring(1, "hello-"+i);             pst.setstring(2, "world-"+i);             pst.setstring(3,"hyd-"+i);             pst.addbatch();         }         pst.executebatch();          system.out.println("update successful!");     }catch (sqlexception e) {         system.out.println("there sql errors!");         e.printstacktrace();     }catch (classnotfoundexception e) {         system.out.println("driver class not attached project!");         e.printstacktrace();     }finally{         try {             pst.close();         } catch (sqlexception e) {             e.printstacktrace();         }         try {             con.close();         } catch (sqlexception e) {             e.printstacktrace();         }     } } } 

it looks when added stu_id statement presumably added line

pst.setint(1, i); 

and had these lines

pst.setstring(1, "hello-"+i); pst.setstring(2, "world-"+i); pst.setstring(3,"hyd-"+i); 

so overwriting first parameter (both 1).

try

pst = con.preparestatement("insert student(stu_id,first_name,last_name,address) values (?,?,?,?)");    pst.setint(1, i); pst.setstring(2, "hello-"+i); pst.setstring(3, "world-"+i); pst.setstring(4,"hyd-"+i); 

Comments

Popular posts from this blog

How to mention the localhost in android -

php - Calling a template part from a post -

c# - String.format() DateTime With Arabic culture -