问题描述
我有一张表,用于存储订阅数据。
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 (将#修改为@)