一 问题描述
当给某个表加字段的时候,提示报错:Invalid default value for ddate
查看了下这个表的表结构,发现ddate这个字段的定义是ddate datetime not null default '0000-00-00 00:00:00'
二 出错原因
在当前sql_mode格式下(no_zero_in_date,no_zero_date),日期类型的字段不允许存在0000这种格式的值。
三 解决办法
修改该字段的定义,使其默认值改为非0000这种形式,这里将其改为default current_timestamp
示例:
alter table 表名 modify ddate datatime not null default current_timestamp;