【问题标题】:Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause表定义不正确;在 DEFAULT 或 ON UPDATE 子句中只能有一个带有 CURRENT_TIMESTAMP 的 TIMESTAMP 列
【发布时间】:2015-06-01 16:48:29
【问题描述】:

我总是得到错误:

表定义不正确;在 DEFAULT 或 ON UPDATE 子句中只能有一个带有 CURRENT_TIMESTAMP 的 TIMESTAMP 列

DROP TABLE IF EXISTS `characters`;
CREATE TABLE `characters`(
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `accId` int(11) NOT NULL,
  `charId` int(11) NOT NULL,
  `charType` int(11) NOT NULL,
  `level` int(11) NOT NULL,
  `exp` int(11) NOT NULL,
  `fame` int(11) NOT NULL,
  `items` varchar(128) NOT NULL,
  `hp` int(11) NOT NULL,
  `mp` int(11) NOT NULL,
  `stats` varchar(64) NOT NULL DEFAULT '"1,2,3,4,5,6,7,8"',
  `dead` tinyint(1) NOT NULL DEFAULT '0',
  `tex1` int(11) NOT NULL DEFAULT '0',
  `tex2` int(11) NOT NULL DEFAULT '0',
  `pet` int(11) NOT NULL DEFAULT '0',
  `fameStats` varchar(128) NOT NULL DEFAULT 'eNoVytkRgCAMRdGH4IIbgmsPdmNVNmZf5n7kzM0kksLjJN2V4b30vcHK1YYam9hCxxqh5zpQI0wwQ4IFMhRYYeNjpw444YIfA3kDIA',
  `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `deathTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `totalFame` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

这是我第一次使用 MySQL 的东西。我使用它的原因是因为我下载了带有服务器的游戏的源代码,这是需要的。

【问题讨论】:

    标签: mysql timestamp


    【解决方案1】:

    问题被隔离到这两行

      `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `deathTime`  timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    

    要消除该错误,您需要修改其中一行以删除DEFAULT CURRENT_TIMESTAMP。 MySQL 只允许以这种方式定义 one 时间戳列。例如:

      `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `deathTime`  timestamp NOT NULL,
    

    因为deathTime 列被定义为NOT NULL 并且没有默认值,所以每次插入行时都需要为deathTime 提供一个值。您可以使用 BEFORE INSERT 触发器获取为 INSERT 分配给该列的当前日期和时间。

    【讨论】:

      【解决方案2】:

      您正在尝试定义多个“在 DEFAULT 或 ON UPDATE 子句中使用 CURRENT_TIMESTAMP 的 TIMESTAMP 列”。具体来说,createTime 和 deathTime。

      你不能那样做。™

      【讨论】:

        猜你喜欢
        • 2016-05-13
        • 1970-01-01
        • 2012-06-17
        • 1970-01-01
        • 2017-04-26
        • 1970-01-01
        • 1970-01-01
        • 2014-03-16
        • 1970-01-01
        相关资源
        最近更新 更多