Mysql 在datetime列中插入值时出错

Mysql 在datetime列中插入值时出错,mysql,Mysql,我试图在表中插入一条记录(来自java代码),但得到“ERROR 1292(22007)”。时间戳列的类型为“datetime” 以下是我的疑问 insert into Alert(name,timestamp,location,message) values ("aaa", "2013-04-25 5:47:3PM","XYZ", "bla bla bla"); 错误 ERROR 1292 (22007): Incorrect datetime value: "2013-04-25 5:47

我试图在表中插入一条记录(来自java代码),但得到“ERROR 1292(22007)”。时间戳列的类型为“datetime” 以下是我的疑问

insert into Alert(name,timestamp,location,message) values ("aaa", "2013-04-25 5:47:3PM","XYZ", "bla bla bla");
错误

ERROR 1292 (22007): Incorrect datetime value: "2013-04-25 5:47:3PM" for column 'Timestamp' at row 1

将查询中的
timestamp
值更改为
2013-04-24 17:47:03
datetime
列的格式必须是
yyyy-MM-dd-HH:MM:ss

您需要使用24小时时钟并取消AM/PM。这将在您尝试在问题中插入的同时插入:

insert into Alert(name,timestamp,location,message)
  values ("aaa", '2013-04-25 17:47:3',"XYZ", "bla bla bla");

您的日期时间格式错误。尝试:

2013-04-25 05:47:03
这是因为
datetime
是基于24小时格式的


以下是关于MySQL中日期格式的文档:

您能显示您的java代码吗?日期的格式应为
yyyy-MM-dd HH:MM:ss
所提到的插入查询是从日志中提取的。我还尝试在sql编辑器中手动运行此插入查询,但得到了相同的异常。因为此部分上存在问题
5:47:3PM
日期不能包含
AM/PM
。嗯。明白了…日期格式有问题…thx JW