在MySQL中添加数据用到CURDATE()遇到的问题

在MySQL中创建Info表后,插入数据显示有错,主要是在addtime的字段上。相关代码如下:
#建表
create table item(
……
addtime date not null,
endtime date not null,
……
#插入数据
INSERT INTO item ( item_name , item_remark , item_desc, kind_id, addtime , endtime, init_price, max_price, owner_id, winer_id, state_id)
VALUES ( '主板', '老式主板', '老主板,还可以用', 1, CURDATE()-5, CURDATE() + INTERVAL 30 DAY , 230, 250, 1, null, 1);

我查了CURDATE()函数可以作为字符串,也可以作为数字上下文被使用,定义为Date类型的例子也有,所以初步觉得代码没问题。
但是在输入后,我的电脑上还是出现了如下错误:
ERROR 1292 (22007):Incorrect date value:'20160398' for column 'addtime' at row 1
求大神指点

等下兄弟,我刚刚没有理解你的意思你前面的addtime想是这个YYYYMMDD这个格式是吧,我刚刚按curdate()+XX的方法存入mysql数据库中,没有
报错a,但是还是YYYYY-MM-DD的格式

兄弟,你的curdate()-5无非是当前日期退后5天是吧,你的endtime都知道CURDATE() + INTERVAL 30 DAY这样表达,你的addtime为什么要curdate()-5呢?
curdate()返回的是当前的日期,你拿一个日期去减一个数字,这么可能不报错;你完全可以写成curdate()-interval 5 day

兄弟问题解决了,请不要吝啬你的几个赞哦 。。‘==’

我尝试了下,发现我自己的MySQL中对于CURDATE()-5就会报错,但是将语句改成CURDATE()-INTERVAL 5 DAY 就没错了,是安装的数据库问题吗?