MySQL错误码1292:列1中的日期值1999不正确。

3
这个问题已经被讨论过很多次了,但是答案都是关于日期格式错误的。我使用的日期格式是正确的:YYYY-MM-DD,根据手册

那么可能导致这个错误的原因是什么呢?

我正在使用MySQL 5.5。

编辑: 我正在尝试执行的查询:

insert into table2 (pk_id)
select pk_id from table1
where pk_date in  (2014-01-04, 2014-02-05, 2014-03-23, 2014-05-01, 2014-07-28) 
order by pk_id asc;

3
请展示查询语句和实际使用的数值。 - John Conde
展示您正在尝试的实际查询。 - Abhik Chakraborty
2
where pk_date in ('2014-01-04', '2014-02-05', '2014-03-23', '2014-05-01', '2014-07-28') - Abhik Chakraborty
是的,日期值是字符串,您需要像我给出的那样用单引号括起来,还需要在IN列表中删除最后一个逗号。 - Abhik Chakraborty
@GrijeshChauhan 是的,刚刚发布了。 - Abhik Chakraborty
显示剩余4条评论
1个回答

4
问题在于日期的IN条件,日期是字符串,需要用单引号括起来,如下所示:
where pk_date in ('2014-01-04', '2014-02-05', '2014-03-23', '2014-05-01', '2014-07-28')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接