我试图改变特定表中的现有MySQL列。 我想将类型为timestamp的列更改为最早可能的值作为默认值。
我正在使用MySQL 5.5.40
根据MySql Docs,时间戳范围值可以是:
TIMESTAMP数据类型用于包含日期和时间部分的值。 TIMESTAMP的范围为' 1970-01-01 00:00:01' UTC到' 2038-01-19 03:14:07' UTC。
但是当我尝试将表格列改为' 1970-01-01 00:00:01'我收到了错误。
这里的查询失败了:
ALTER TABLE user MODIFY COLUMN latest_login_date timestamp default '1970-01-01 00:00:01' NOT NULL;
给出:
Error Code: 1067. Invalid default value for 'latest_login_date'
几秒钟后还尝试了其他值 - 仍然没有好处。 对我有用的第一个价值是:
ALTER TABLE account_social_integration MODIFY COLUMN latest_login_date timestamp default '1970-01-01 02:00:01' NOT NULL;
有人可以解释一下吗?