mysql - 使用 ALTER TABLE 命令在现有表中添加当前日期和时间为 : Not Working 的列

标签 mysql sql date

我有一个名为 test 的 MySQL 表。我需要再添加三列 VERSION 数据类型 bigint、CREATE_TIMESTAMP 数据类型 DateLAST_UPDATE_TIMESTAMP 数据类型 Date

VERSION 的默认值应为 0CREATE_TIMESTAMPLAST_UPDATE_TIMESTAMP 的默认值应为当前日期时间.

现在我正在做类似的事情:

alter table masterdatabase.test 添加列 VERSION bigint(50) default 0; alter table masterdatabase.test 添加列 CREATE_TIMESTAMP date default NOW(); alter table masterdatabase.test 添加列 LAST_UPDATE_TIMESTAMP 日期默认 NOW();

它将 VERSION 列添加到表中,表的每一行中的默认值为 0。但无法创建数据类型为 Date 的其他两列。 它在 MySQL 日志中显示错误:

改变表 masterdatabase.test 添加列 CREATE_TIMESTAMP 日期默认 NOW() |错误代码:1067。“CREATE_TIMESTAMP”0.000 秒的默认值无效

究竟是什么阻止了我创建那些我不理解的列。

请建议是否有其他方法可以做到这一点。

提前致谢!

最佳答案

使用 CURRENT_TIMESTAMP 而不是 NOW():

ALTER TABLE masterdatabase.test add column CREATE_TIMESTAMP TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

关于mysql - 使用 ALTER TABLE 命令在现有表中添加当前日期和时间为 : Not Working 的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22498632/

相关文章:

mysql - DATE 字段上的 INDEX 和 MONTH() YEAR() 函数

ruby-on-rails - ruby /Rails 3 : How to create a Date object from a Time object?

php - Laravel 不接受 API 调用的日期作为日期时间字段

数据库 |如何只选择每个类别的一条记录?

mysql - Doctrine 内连接

mysql - 如何检索具有两个不同别名的同一列?

java - ISO 8601 日期格式字符串到 Java 中的 Date 对象

javascript - php js 处理事件开始日期和结束日期

mysql - 当我使用 WHERE IN 条件时,SQL 查询用户名不出现

mysql - 范围值的数据库结构