How to insert Date into MySQL Database table in Java? -


how insert date, without time, mysql database table? tried these codes following exception:

com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception: have error in sql syntax; check manual corresponds mysql server version right syntax use near 'mar 05 00:00:00 gmt-08:00 2014,1,1)' @ line 1 

note: in mysql table, data type of column chose date datatype

string date = "\\d\\d\\d\\d\\d[0-1][0-9]\\d[0-3][0-9]"; while (datematcher.find())  {        string date = datematcher.group().trim();      dateformat formatter = new simpledateformat("yyyy-mm-dd");     date mydate = formatter.parse(date);      db.insert_date(mydate,2,1);            } 

i've problem date part query inserting date :

// insert date public void insert_date(date  date_str, int sentence_id ,int document_id ){        // statements allow issue sql queries database      try {         statement = connect.createstatement();          system.out.println(  "insert date(date_str,sen_id,doc_id) " +                  " values(" + date_str + "," +  sentence_id + "," + document_id +  ")"                  );           statement.executeupdate(           "insert test.date(date,sen_id,doc_id)" +          " values(" + date_str + "," +  sentence_id + "," + document_id + ")"           );     }     catch(exception e ){system.out.println(e);};     // result set result of sql query  } 

first of all, persist java.util.date database in java, have convert java.sql.date. fortunate thing jdbc sql date it's subclass of java date.

therefore, create java.sql.date java.util.date, have this:

dateformat formatter = new simpledateformat("yyyy-mm-dd"); date mydate = formatter.parse(date); java.sql.date sqldate = new java.sql.date(mydate.gettime());  db.insert_date(sqldate); 

make sure db.insert_date accepts java.sql.date.

where have call preparedstatement.setdate() function.

see related question java.util.date vs java.sql.date.


Comments