MySQL 当前日期默认值

在MySQL中,可以使用默认值来设置表字段的默认值。默认值可以是常量、函数或表达式。对于日期和时间类型的字段,可以使用当前日期和时间作为默认值。这篇文章将介绍如何在MySQL中设置当前日期作为字段的默认值,并提供相应的代码示例。

1. 什么是默认值?

默认值是当插入新行时,如果未提供相应字段的值,则将使用默认值填充该字段。默认值可以在创建表时指定,也可以在表创建后使用ALTER TABLE语句进行修改。

2. 如何设置当前日期作为默认值?

要设置当前日期作为字段的默认值,可以使用MySQL的内置函数CURDATE(),该函数返回当前日期。下面是一个示例创建表的SQL语句,其中created_at字段的默认值为当前日期:

CREATE TABLE `users` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(50) NOT NULL,
  `created_at` DATE DEFAULT CURDATE(),
  PRIMARY KEY (`id`)
);

在上述示例中,使用DEFAULT关键字指定了默认值,该值为CURDATE()函数的返回值。

3. 示例代码

下面是一个完整的示例代码,演示了如何在MySQL中创建一张用户表,并将当前日期作为默认值:

-- 创建数据库
CREATE DATABASE IF NOT EXISTS `mydb`;
USE `mydb`;

-- 创建表
CREATE TABLE IF NOT EXISTS `users` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(50) NOT NULL,
  `created_at` DATE DEFAULT CURDATE(),
  PRIMARY KEY (`id`)
);

-- 插入数据
INSERT INTO `users` (`name`) VALUES ('John');
INSERT INTO `users` (`name`) VALUES ('Mike');

-- 查询数据
SELECT * FROM `users`;

在上述示例中,我们首先创建了一个名为mydb的数据库,并将其设为当前数据库。然后,使用CREATE TABLE语句创建了一个名为users的表,其中包含了idnamecreated_at三个字段。id字段是自增的主键,name字段是必填的,created_at字段的默认值为当前日期。接下来,使用INSERT INTO语句向users表中插入了两条数据。最后,使用SELECT语句查询了users表中的所有数据。

4. 总结

在MySQL中,可以使用默认值来设置表字段的默认值。对于日期和时间类型的字段,可以使用CURDATE()函数来设置当前日期作为默认值。本文提供了一个完整的示例代码,演示了如何在MySQL中创建一张用户表,并将当前日期作为默认值。

希望本文对你理解MySQL中当前日期默认值的设置有所帮助!

参考文献

  • [MySQL 8.0 Reference Manual - 11.3.6 The DATE, DATETIME, and TIMESTAMP Types](
  • [MySQL 8.0 Reference Manual - 11.2.5 Automatic Initialization and Updating for TIMESTAMP and DATETIME](