【问题标题】:MySQL Date and time insert errorMySQL日期和时间插入错误
【发布时间】:2015-05-04 04:11:35
【问题描述】:

我正在尝试从 JSP 页面向 MySQL db 中的表插入日期和时间,但以错误结束:

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.

【问题讨论】:

  • 您在数据库中的DateIn 列类型是什么?日期或其他类型?
  • 它是一个日期时间类型
  • str_to_date(Date_In,'%d/%M/%Y %H:%i') 改为str_to_date(Date_In,'%d-%M-%Y %H:%i')

标签: java mysql jsp date


【解决方案1】:

你能改吗

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'));

? 根据例外情况,您错过了几秒钟

【讨论】:

    【解决方案2】:

    你使用过str_to_date(Date_In,'%d/%M/%Y %H:%i')

    根据this link%M 表示正在以名称格式指定月份。在您的情况下,您应该将格式更改为%d%m%Y,或将您的输入更改为15/MAY/2015

    【讨论】:

      猜你喜欢
      • 2013-07-26
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多