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
的表,其中包含了id
、name
和created_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](