MySQL timestamp 默认值的实现流程

甘特图

gantt
    dateFormat  YYYY-MM-DD
    title       MySQL timestamp 默认值实现流程

    section 创建表
    创建表结构      :done, 2022-11-01, 1d

    section 添加默认值
    添加默认值      :done, 2022-11-02, 1d

    section 验证结果
    验证结果      :done, 2022-11-03, 1d

旅行图

journey
    title MySQL timestamp 默认值实现流程

    section 创建表
    创建表结构      : 创建一个名为`my_table`的表,包含一个timestamp类型的字段`my_timestamp`

    section 添加默认值
    添加默认值      : 使用ALTER TABLE语句,设置`my_timestamp`字段的默认值为当前时间戳

    section 验证结果
    验证结果      : 插入一条新记录,并检查`my_timestamp`字段的值是否为当前时间戳

步骤详解

创建表结构

首先,我们需要创建一个名为my_table的表,表中包含一个timestamp类型的字段my_timestamp。可以使用以下DDL语句来创建表:

CREATE TABLE my_table (
  id INT AUTO_INCREMENT PRIMARY KEY,
  my_timestamp TIMESTAMP
);

添加默认值

要为my_timestamp字段设置默认值为当前时间戳,可以使用ALTER TABLE语句。具体操作如下:

ALTER TABLE my_table
  ALTER COLUMN my_timestamp SET DEFAULT CURRENT_TIMESTAMP;

这条语句将my_timestamp字段的默认值设置为当前时间戳。

验证结果

为了验证上述操作是否成功,我们可以插入一条新的记录,并检查my_timestamp字段的值是否为当前时间戳。以下是示例代码:

INSERT INTO my_table (my_timestamp) VALUES (DEFAULT);

SELECT my_timestamp FROM my_table WHERE id = LAST_INSERT_ID();

第一条语句插入一条新记录,使用DEFAULT关键字来表示使用字段的默认值。第二条语句查询刚插入的记录的my_timestamp字段的值。

完整代码

-- 创建表结构
CREATE TABLE my_table (
  id INT AUTO_INCREMENT PRIMARY KEY,
  my_timestamp TIMESTAMP
);

-- 添加默认值
ALTER TABLE my_table
  ALTER COLUMN my_timestamp SET DEFAULT CURRENT_TIMESTAMP;

-- 验证结果
INSERT INTO my_table (my_timestamp) VALUES (DEFAULT);
SELECT my_timestamp FROM my_table WHERE id = LAST_INSERT_ID();

以上代码包含了创建表结构、添加默认值和验证结果的完整流程。

希望对你有帮助!