MySQL - ADD COLUMN 在其他列上引发错误

问题描述

我有一张表,用于存储订阅数据。

CREATE TABLE `subscription` (
  `StartTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,`EndTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',`UserID` varchar(255) NOT NULL,`Plan` int(8) NOT NULL,`StripeSubID` varchar(63) DEFAULT NULL,PRIMARY KEY (`StartTime`,`UserID`),KEY `Plan` (`Plan`),KEY `UserID` (`UserID`),CONSTRAINT `subscription_ibfk_1` FOREIGN KEY (`Plan`) REFERENCES `plan` (`ID`) ON UPDATE CASCADE,CONSTRAINT `subscription_ibfk_2` FOREIGN KEY (`UserID`) REFERENCES `accounts` (`Username`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

我想添加一个新列

ALTER TABLE subscription ADD COLUMN trial TINYINT DEFAULT 0 NOT NULL;

重点是当我运行查询时,出现错误

ERROR 1067 (42000): 'EndTime' 的默认值无效

我在这里没有看到这个问题,因为我在添加一列时没有触及 EndTime 一列。我在互联网上寻找类似的问题,但一无所获。
有什么我做错了吗?我正在运行 MySQL 版本 5.7.32-0ubuntu0.18.04.1

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)