原文地址:http://www.cnblogs.com/lhj588/p/4245719.html
应用场景:
1、在数据表中,要记录每条数据是什么时候创建的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录创建时间;
2、在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录修改时间;
实现方式:
1、将字段类型设为 TIMESTAMP
2、将默认值设为 CURRENT_TIMESTAMP
举例应用:
1、MySQL 脚本实现用例
--添加CreateTime 设置默认时间 CURRENT_TIMESTAMP
ALTER TABLE `table_name`
ADD COLUMN `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ;
--修改CreateTime 设置默认时间 CURRENT_TIMESTAMP
ALTER TABLE `table_name`
MODIFY COLUMN `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ;
--添加UpdateTime 设置 默认时间 CURRENT_TIMESTAMP 设置更新时间为 ON UPDATE CURRENT_TIMESTAMP
ALTER TABLE `table_name`
ADD COLUMN `UpdateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间' ;
--修改 UpdateTime 设置 默认时间 CURRENT_TIMESTAMP 设置更新时间为 ON UPDATE CURRENT_TIMESTAMP
ALTER TABLE `table_name`
MODIFY COLUMN `UpdateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间' ;
2、MySQL工具设置
总结:
1、MySQL自动管理,保持和数据库时间一致性;
2、简单高效,不需要应用程序开发支持,MySQL自动完成;
分享到:
相关推荐
`REGISTRATION_TIME`和`LAST_LOGIN_TIME`字段被定义为`TIMESTAMP`类型,并分别设置了默认值为`CURRENT_TIMESTAMP`,这意味着每当有新记录插入时,如果没有显式提供时间,则这两个字段将自动获取当前系统时间。...
在MySQL数据库中,自增字段(AUTO_INCREMENT)是一种常见的特性,用于在插入新记录时自动为该字段生成唯一的序列编号。这个字段通常用于主键,确保每个记录的唯一性。以下是对MySQL自增字段相关知识点的详细说明: ...
在这个例子中,`create_time`字段会在插入新记录时自动获取当前时间,而`update_time`字段不仅在插入时记录时间,当记录更新时也会自动更新为当前时间。 2. **为已有表添加字段**:如果表已经存在,可以使用ALTER ...
MySQL的`LAST_INSERT_ID()`函数可以获取自增字段生成的最后一个编号,这对于跟踪插入操作非常有用。但是,这个函数只与当前会话相关,如果在会话中没有生成新的自增值,它将返回0。 对于其他类型的数据表,如MyISAM...
在MySQL中,通过设置字段为`AUTO_INCREMENT`属性来实现自动增长的ID。当向表中插入新记录时,如果该记录的ID字段未指定值,则系统会自动分配一个唯一的递增ID。 - **MyISAM与InnoDB的区别**: - **MyISAM**:使用...
因此,在插入或更新记录时,如果该字段没有被显式设置,那么它的值将自动设置为当前的系统日期和时间。 #### 控制字段是否参与插入/更新操作 在映射文件中,可以通过设置`insert`和`update`属性来控制字段是否参与...
在这个例子中,`create_time`字段会在数据插入时自动获取当前时间,而`update_time`字段不仅在插入时设置为当前时间,还会在数据被更新时自动更新为最新时间。 ### 2. 直接通过工具修改表设计 许多MySQL管理工具...
在MySQL中,设置表字段的默认值是一项基本操作,它允许在插入新记录时,如果没有为该字段提供值,系统会自动使用预设的默认值。本教程将深入讲解如何设置不同类型的字段默认值,以及在操作过程中需要注意的细节。 ...
当在表定义中设置字段的默认值时,可以使用`GETDATE()`来确保该字段总是被填充为创建记录时的当前时间。例如,创建一个包含日期字段的表,并设置其默认值为`GETDATE()`: ```sql CREATE TABLE Orders ( OrderID ...
这条SQL语句将`ts_role`表的`create_tm`字段修改为默认值`CURRENT_TIMESTAMP`,确保在插入新记录时自动获取当前时间。 总结一下,在MySQL中为datetime类型设置默认值的方法主要有两种:一是创建表时在建表语句中...
可以使用`LAST_INSERT_ID()`函数获取自增列自动生成的最新编号,但这个值仅与当前会话相关,如果在会话中没有生成新的自增值,函数将返回0。 6. 调整自增值: - 可以通过`ALTER TABLE`命令改变表的自增初始值,...
timestamp的一个独特特点是,当插入或更新记录时,如果没有显式提供值,该字段将自动填充或更新为当前时间(CURRENT_TIMESTAMP)。这在某些场景下可以简化编程,但可能引发并发问题。 3. **date**:占用3字节存储...
- `mysql_autocommit()`:设置自动提交模式。 - `mysql_commit()`:提交当前事务。 - `mysql_rollback()`:回滚当前事务。 7. **游标支持**: - MySQL C API也支持游标,通过设置`MYSQL_OPT_CURSOR_TYPE`选项...
总之,MySQL-Front作为一个强大的MySQL客户端工具,为数据库管理和开发提供了便捷的图形界面,结合"MySQL-Front_Setup.exe"安装包和"MySQL-Front注册码.txt",用户可以获得完整的安装和激活体验,从而高效地进行...
通过`ALTER TABLE`语句,我们可以向现有表添加一个新字段`create_time`,并将其默认值设置为`CURRENT_TIMESTAMP`,表示插入数据时的当前时间。例如: ```sql ALTER TABLE 表名 ADD ( `create_time` TIMESTAMP ...
接着,我们创建三个自定义函数,用于获取当前值(currval)、获取下一个值(nextval)和设置当前值(setval)。这些函数使得我们可以像操作序列一样操作这个`sequence`表: ```sql DELIMITER / CREATE FUNCTION ...
可以创建一个序列并将其与表关联起来,这样每次插入新记录时都会自动获取序列中的下一个值。 ```sql CREATE SEQUENCE seq_TableXXX; ALTER TABLE TableXXX ALTER COLUMN id SET DEFAULT NEXTVAL('seq_TableXXX'); ...
// 获取当前时间并格式化 $mysql_query = "INSERT INTO tablename (fieldname) VALUES ('$current_time')"; ``` 在这个例子中,PHP的 date() 函数生成的字符串可以直接用于MySQL的插入操作。 总结,MySQL 提供...