mysql - 以下代码中变量 last_updated 的默认值无效

标签 mysql

为什么我会收到变量“last_updated”的默认值无效错误? 请注意,当我在 phpmyadmin 的 MySQL 控制台中运行以下代码时,我收到此错误

 CREATE TABLE IF NOT EXISTS `articles` (
   `article_id` int(10) NOT NULL AUTO_INCREMENT,
    `content_id` int(10) NOT NULL,
    `article_body` text NOT NULL,
    `last_updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
     PRIMARY KEY (`article_id`)
 ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=532 ;

最佳答案

您需要将 last_updated 列的数据类型更改为 timestamp 而不是 datetime。这将允许使用 CURRENT_TIMESTAMP 作为默认值。

事实上,这两种数据类型以相同的格式YYYY-MM-DD HH:MM:SS表示。因此,如果/当您使用这些数据时,您应该不会遇到任何麻烦。

关于mysql - 以下代码中变量 last_updated 的默认值无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35536503/

相关文章:

php - 尝试使用 post 数据使用 php 插入 mysql

php - 如何对行求和然后减去分组依据?

mysql - 大多数网站使用什么MYSQL表存储引擎?一个支持 FULLTEXT 索引和 RELATIONSHIPS 的索引?

php - PDO 替代 mysql_ 获取字段信息

mysql - 从随机名称表中更新 SQL

php - 将普通日期转换为 MySQL 日期格式

mysql - 如何创建数据库的副本,包括 Windows 中的表(mysql)

mysql - mysql中如何查找给定值出现在多少张表中

针对 varbinary 列的 MySQL SELECT

php - 代码不会在 else 语句中显示错误信息