首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“timestamp”的默认值无效

问“timestamp”的默认值无效
EN

Stack Overflow用户
提问于 2016-04-20 22:32:27
回答 5查看 21.5K关注 0票数 6

我的数据库中出现错误。我遇到无效的时间戳默认值。

这是我的数据库:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS `post` (
`id` int(11) NOT NULL,
  `text` varchar(10000) NOT NULL,
  `threadId` int(11) NOT NULL,
  `userId` int(11) NOT NULL,
  `dateCreated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `timestamp` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `isModified` tinyint(4) NOT NULL DEFAULT '0'
) ENGINE=InnoDB AUTO_INCREMENT=171 DEFAULT CHARSET=latin1;



CREATE TABLE IF NOT EXISTS `category` (
`id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL,
  `timestamp` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `color` varchar(10) DEFAULT '#00bcd4',
  `icon` varchar(100) NOT NULL DEFAULT 'https://mymonas.com/forum/category_icon/ic_question.png'
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
EN

回答 5

Stack Overflow用户

发布于 2016-09-24 03:40:03

我也遇到了同样的问题,我把类型从"datetime“改为"timestamp”,它起作用了。我有mysql 5.5.52。

Mysql_error

票数 7
EN

Stack Overflow用户

发布于 2018-10-22 20:37:56

我在sql_mode中也有同样的问题。

进行查询:

代码语言:javascript
复制
show variables like 'sql_mode' ; 

您需要从sql_mode中删除"NO_ZERO_IN_DATE,NO_ZERO_DATE“。

代码语言:javascript
复制
SET sql_mode = '';
票数 3
EN

Stack Overflow用户

发布于 2016-04-20 22:37:58

使用CURRENT_TIMESTAMP()代替CURRENT_TIMESTAMP

即

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS `post` (
`id` int(11) NOT NULL,
  `text` varchar(10000) NOT NULL,
  `threadId` int(11) NOT NULL,
  `userId` int(11) NOT NULL,
  `dateCreated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP(),
  `timestamp` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP(),
  `isModified` tinyint(4) NOT NULL DEFAULT '0'
) ENGINE=InnoDB AUTO_INCREMENT=171 DEFAULT CHARSET=latin1;

现在()也可以工作了

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36747096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档