我正在尝试从JSP页面向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
中的日期格式 例如,日期是15/05/2015,时间是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 :(得分:0)
您使用了str_to_date(Date_In,'%d/%M/%Y %H:%i')
。
根据this link,%M
表示以名称格式指定月份。在您的情况下,您应将格式更改为%d%m%Y
,或将输入更改为15/MAY/2015
。
答案 1 :(得分: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'));
? 根据异常
,您缺少秒数