2015-05-04 70 views
0

我試圖插入日期和時間,從一個JSP頁面的MySQL數據庫的表,但結束時出現錯誤:MySQL的日期和時間插入錯誤

Severe: java.sql.SQLException: Incorrect datetime value: '15/05/2015 14:00:00' for function str_to_date 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) 

日期格式在JSP頁面is dd/MM/yyyy HH:MM 對於例如,日期是2015年5月15日,時間是14:00

我該如何解決問題或者正確的方法?

存儲過程:

CREATE... PROCEDURE `Add(Id int, 
Date_In varchar(50),Out result int) 
BEGIN 
IF (select count(*) from myTable Where DATE_FORMAT(Datein,  '%d/%m/%Y')=DATE_FORMAT(Date_In, '%d/%m/%Y') and id=Id) < 1 then 
BEGIN 
INSERT INTO myTable (id, DateIn) 
VALUES (id,str_to_date(Date_In,'%d/%M/%Y %H:%i')); 
set result=1; 
END; 
END if; 
end 

java code: 
String date = request.getParameter("date"); 
String time = request.getParameter("time"); 
String dateTIme = date + " " + time + ":00"; 

and insert statement goes here. 
+0

什麼是數據庫中的DateIn列類型?日期或其他類型? –

+0

它是日期時間類型 –

+0

'str_to_date(Date_In,'%d /%M /%Y%H:%i')'更改爲'str_to_date(Date_In,'%d-%M-%Y%H:%i 「)' –

回答

0

你能不能改變

VALUES (id,str_to_date(Date_In,'%d/%M/%Y %H:%i') 

VALUES (id,str_to_date(Date_In,'%d/%m/%Y %H:%i:%s')); 

? 根據例外情況,您缺少秒數

0

您已經使用str_to_date(Date_In,'%d/%M/%Y %H:%i')

根據this link%M表示月份是以名稱格式指定的。在你的情況下,你應該改變你的格式爲%d%m%Y,或將你的輸入改爲15/MAY/2015