📜  如何在 MySQL 中更新当前时间戳?

📅  最后修改于: 2022-05-13 01:55:30.170000             🧑  作者: Mango

如何在 MySQL 中更新当前时间戳?

MySQL 是一个易于使用的 RDBMS。许多组织更喜欢使用它,因为它易于维护,更易于准备模式、存储过程、触发器和数据库维护。在本文中,让我们看看如何在 MySQL 中更新到 Current Timestamp。

第 1 步:创建数据库

首先我们创建数据库。这里的 GEEKSFORGEEKS 是数据库名称。

询问:

CREATE DATABASE GEEKSFORGEEKS;

步骤 2:使数据库处于活动状态

询问:

USE GEEKSFORGEEKS;

第 3 步:创建一个表employee,其中empLoginTime 字段为Timestamp。

询问:

CREATE TABLE employee
   (
       empId int NOT NULL,
       empName VARCHAR(20),
       empLoginTime TIMESTAMP
   );

输出:

第四步:我们可以设置时区如下

询问:

SET TIME_ZONE = '+00:00';

如果我们想改变时区也是可以的。

第5步:现在,让我们插入记录

询问:

INSERT INTO employee
    (
        empId, empName, empLoginTime
    )
VALUES
    (1, 'XXX', '2021-01-01 00:00:01'),
    (2, 'YYY', '2021-01-01 00:00:01'),
    (3, 'ZZZ', '2021-01-01 00:00:01'),
    (4, 'XYZ', '2021-01-01 00:00:01');

第 6 步:显示记录

询问:

SELECT * FROM employee;

输出:

此处,“empLoginTime”列表示上述时区模式中的值。

第 7 步:可以查看来自不同时区的数据。在那些时候,我们可以随意设置时区

询问:

SET time_zone ='+03:00';
SELECT * FROM employee;

输出:

在 MySQL 中,有一种工具可以为列保留默认的当前时间戳值。即empLoginTime 应该在员工登录系统时自动获取时间戳值。它相当于将列更新为当前时间戳值。

询问:

ALTER TABLE employee MODIFY 
COLUMN empLoginTime 
TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP;    

现在让我们检查一下表的结构

询问:

DESC employee;

更新 current_timestamp 的优势:

对于 DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP,“empLoginTime”列的默认值是当前时间戳,并自动更新为当前时间戳。

现在让我们在表中插入记录。由于我们有默认的 current_timestamp 并且更新到 current_timestamp,我们不需要提供“empLoginTime”的值。下面是执行此操作的查询。

询问:

**Since empLoginTime has the current 
timestamp value, we no need to add the value
 explicitly to that column**
INSERT INTO employee (empId, empName) VALUES
(5, 'ABC'),(6,'CDE');

显示记录

询问:

SELECT * FROM employee;

最好将“登录”和“注销”列以及类似类型的列设置为默认的 current_timestamp 值。如果未设置,我们可以轻松更新列值。

在 MySQL 工作台中,我们必须执行以下操作:

更新数据的步骤

  • 导航到编辑-> 首选项。
  • 然后单击“SQL 编辑器”选项卡并取消选中“安全更新”复选框。
  • 然后单击查询 -> 重新连接到服务器。

现在执行你的 SQL 查询

询问:

UPDATE employee set empLoginTime = CURRENT_TIMESTAMP
WHERE empId < 4;

显示记录

询问:

SELECT * FROM employee;

通常,我们应该在表中包含“创建时间”和“修改时间”以获取更新的值。这将有助于审计目的。默认约束有助于设置当前时间戳值。在创建表的过程中,可以设置默认值,或者使用 ALTER 命令,我们可以设置默认约束。另一种方法是使用“UPDATE”命令,如上例所示。