2024年07月31日 MySQL timestamp默认值 极客笔记
在MySQL中,我们经常会使用timestamp
类型来表示时间戳信息。在创建表时,我们可以为timestamp
类型指定默认值。默认值是在插入新记录时如果没有指定该字段的值,则会自动使用默认值。本文将详细讨论MySQL中timestamp
类型的默认值使用方法。
timestamp
类型是MySQL中一种用来存储时间戳信息的数据类型。它存储的时间格式为"YYYY-MM-DD HH:MM:SS"
,并且默认情况下具有自动更新功能,即当插入或更新操作执行时,timestamp
类型字段的值会被自动更新为当前的时间戳。
下面是创建一个包含timestamp
类型字段的示例表格:
CREATE TABLE `example_table` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(50),
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
在上面的示例中,我们创建了一个名为example_table
的表格,其中包含了一个created_at
字段,其类型为timestamp
,并且指定了默认值为当前的时间戳。
在创建表格时,我们可以为timestamp
类型的字段指定默认值。默认值可以是一个常量值,也可以是一个函数。常用的函数有CURRENT_TIMESTAMP
和NOW()
。
CURRENT_TIMESTAMP
函数可以用来获取当前的时间戳,并将其作为默认值赋给timestamp
类型的字段。以下是一个使用CURRENT_TIMESTAMP
的示例:
CREATE TABLE `example_table` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(50),
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
在上面的示例中,我们为created_at
字段指定了默认值为CURRENT_TIMESTAMP
,这意味着当插入新记录时,如果没有指定created_at
的值,它将自动使用当前的时间戳作为默认值。
NOW()
函数也可以用来获取当前的时间戳,并将其作为默认值赋给timestamp
类型的字段。以下是一个使用NOW()
的示例:
CREATE TABLE `example_table` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(50),
`created_at` TIMESTAMP DEFAULT NOW()
);
在上面的示例中,我们为created_at
字段指定了默认值为NOW()
,这与CURRENT_TIMESTAMP
的效果相同。
除了使用函数获取当前的时间戳作为默认值外,我们也可以直接使用常量值来指定timestamp
类型字段的默认值。以下是一个使用常量值的示例:
CREATE TABLE `example_table` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(50),
`created_at` TIMESTAMP DEFAULT '2022-01-01 00:00:00'
);
在上面的示例中,我们为created_at
字段指定了默认值为'2022-01-01 00:00:00'
,这意味着当插入新记录时,如果没有指定created_at
的值,它将使用'2022-01-01 00:00:00'
作为默认值。
下面是一个完整的示例代码,演示了如何创建一个包含timestamp
类型字段并指定默认值的表格:
CREATE TABLE `example_table` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(50),
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO `example_table` (`name`) VALUES ('John');
INSERT INTO `example_table` (`name`) VALUES ('Alice');
SELECT * FROM `example_table`;
运行以上示例代码后,我们将得到如下的表格内容:
+----+------+---------------------+
| id | name | created_at |
+----+------+---------------------+
| 1 | John | 2022-07-15 10:30:00 |
| 2 | Alice| 2022-07-15 10:31:00 |
+----+------+---------------------+
从上面的结果可以看出,插入新记录时created_at
字段自动填充了当前的时间戳。
在MySQL中,我们可以使用timestamp
类型来存储时间戳信息,并且可以为timestamp
类型的字段指定默认值。常用的默认值包括CURRENT_TIMESTAMP
和NOW()
函数以及常量值。通过指定默认值,可以在插入新记录时自动填充时间戳信息,提高了数据的准确性和便利性。
本文链接:http://so.lmcjl.com/news/9645/