`
zhaojian0910
  • 浏览: 47696 次
社区版块
存档分类
最新评论

mysql timestamp类型的字段 默认值CURRENT_TIMESTAMP 自动更新的问题

 
阅读更多

有时候发现表中一个字段为TIMESTAMP类型,DEFAULT值为CURRENT_TIMESTAMP,这个值不但插入的时候是存入了当前时间,而且每次更新表的时候此此段都会更新为当前时间

 

原因:

CREATE TABLE `test` (
  `t1` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `ww` varchar(5) NOT NULL
) ENGINE=MyISAM ;

 解决方案:

mysql 有修改默认值的方法

alter table table_name alter column column_name set default xxx;

alter table test alter column t1 set default CURRENT_TIMESTAMP; 

分享到:
评论

相关推荐

    MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 参数

    此外,MySQL允许在一个表中最多定义两个自动更新的`TIMESTAMP`字段,其中一个可以设置为`CURRENT_TIMESTAMP`作为默认值,另一个可以设置为`ON UPDATE CURRENT_TIMESTAMP`,这样在插入新行或更新行时,这两个字段都会...

    MySQL错误TIMESTAMP column with CURRENT_TIMESTAMP的解决方法

    在MySQL数据库中,时间戳(TIMESTAMP)是一种用于记录时间的字段类型,它可以自动记录数据插入或更新的时间。在本文中,我们将深入探讨一个常见的问题,即在创建包含多个TIMESTAMP列,并希望它们具有CURRENT_TIMESTAMP...

    MySQL的datetime设置当前时间为默认值[定义].pdf

    其中,`begin_time` 字段是一个 TIMESTAMP 类型,具有默认值 CURRENT_TIMESTAMP,且在更新时自动更新为当前时间。 使用 TIMESTAMP 类型和触发器可以轻松地将当前时间设置为默认值,从而简化了数据库设计和开发过程...

    mysql中datetime类型设置默认值方法

    然而,当你试图通过MySQL的图形化工具,如Navicat,来修改已有表的datetime字段默认值时,可能会遇到错误"1067 - Invalid default value for 'CREATE_TM'"。这是因为MySQL对默认值的表达式有一定的限制。在MySQL 5.6...

    SQL | 创建时间,更新时间,使用默认值自动设置|data-412945.pdf

    在MySQL 5.5及以下版本,一张表只能有一个字段默认值为`CURRENT_TIMESTAMP`;而在5.6及以上版本,允许多个字段同时使用`CURRENT_TIMESTAMP`作为默认值。 在实际应用中,我们可能需要在Java代码中处理这些时间戳。...

    mysql自动生成时间1

    总之,MySQL的TIMESTAMP字段配合CURRENT_TIMESTAMP默认值,为数据库提供了自动化管理时间戳的能力,简化了数据操作,并且确保了时间信息的准确性和一致性。在设计数据库表结构时,这种策略是值得考虑的,特别是在...

    mysql多个TimeStamp设置的方法解读

    当你在创建表时,为Timestamp字段设置默认值为CURRENT_TIMESTAMP,这意味着每当新的记录被插入时,该字段会自动获取当前系统时间作为其值。例如,`createtime`字段在创建新记录时会被赋予当前时间。 ```sql CREATE...

    通过实例解析MySql CURRENT_TIMESTAMP函数

    表示当插入数据的时候,该字段默认值为当前时间 ON UPDATE CURRENT_TIMESTAMP 表示每次更新这条数据的时候,该字段都会更新成当前时间 这两个操作是mysql数据库本身在维护,所以可以根据这个特性来生成【创建时间】...

    MySQL timestamp自动更新时间分享

    - 如果在创建表时为两个或更多timestamp字段指定`CURRENT_TIMESTAMP`作为默认值,MySQL会抛出错误。你可以为其中一个字段设置`ON UPDATE CURRENT_TIMESTAMP`,而其他字段则不设置,以避免冲突。 8. **时间戳与NULL...

    mysql如何设置默认时间为当前时间

    在这个例子中,`created_at`字段被设置为`TIMESTAMP`类型,它的默认值为`CURRENT_TIMESTAMP`,并且每当该行被更新时,这个字段会自动更新为当前时间。 #### 2. 修改现有表 如果你有一个已经存在的表,并希望添加一...

    MySql性能调优(一)字段类型的选取之时间类型

    TIMESTAMP 类型与 DATETIME 类型类似,但 TIMESTAMP 类型有一个自动更新的功能,即在插入或更新数据时,TIMESTAMP 字段将自动设置为当前时间戳。例如,创建一个存储最后一次更新时间的列可以使用 TIMESTAMP 类型: ...

    在mysql建表中将日期设置为默认取得当前系统时间

    在创建`USER`表时,`REGISTRATION_TIME`和`LAST_LOGIN_TIME`字段被定义为`TIMESTAMP`类型,并分别设置了默认值为`CURRENT_TIMESTAMP`,这意味着每当有新记录插入时,如果没有显式提供时间,则这两个字段将自动获取...

    mysql 数据类型TIMESTAMP

    在mysql中timestamp数据类型是一个比较特殊的数据类型,他可以自动在你不使用程序更新情况下只要你更新了记录timestamp会自动更新时间 通常表中会有一个Create date 创建日期的字段,其它数据库均有默认值的选项。...

    mysql之TIMESTAMP(时间戳)用法详解

    MySQL中的TIMESTAMP字段类型是用来存储时间戳值的,它可以记录自1970年1月1日00:00:00 UTC(协调世界时)以来的秒数。TIMESTAMP在不同的情境下有不同的用法,这主要体现在它的默认值和更新策略上。 1. **TIMESTAMP ...

Global site tag (gtag.js) - Google Analytics