如何在MySQL中将NOW()设置为datetime数据类型的默认值?
阅读更多:MySQL 教程
介绍
MySQL是最流行的开源关系型数据库管理系统之一。它可以用于各种用途,包括web应用程序、数据分析、企业级软件等。在MySQL中,datetime数据类型是一种存储日期时间的数据类型。通过将NOW()函数设置为datetime数据类型的默认值,可以在向数据库中插入新行时自动填充当前时间。
NOW()函数
NOW()函数返回当前日期和时间的值。它是MySQL内置的日期和时间函数之一。NOW()函数可以在SELECT语句中使用,也可以在INSERT语句中使用。当NOW()函数在INSERT语句中使用时,它可以用作datetime数据类型的默认值。
以下是一个使用NOW()函数的例子:
SELECT NOW();
该示例将返回当前日期和时间。
datetime数据类型
datetime是一种数据类型,用于存储日期和时间值。datetime数据类型的格式为“YYYY-MM-DD HH:MM:SS”。“YYYY”表示四位年份,“MM”表示两位月份,“DD”表示两位日期,“HH”表示小时(24小时制),“MM”表示分钟,“SS”表示秒。
以下是一个创建包含datetime数据类型的表的示例:
CREATE TABLE example_table (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
created_at DATETIME DEFAULT NOW()
);
在上面的示例中,created_at列的默认值为NOW()函数的返回值。在插入新行时,将使用当前日期和时间作为created_at的值。
将NOW()设置为datetime数据类型的默认值
要将NOW()函数设置为datetime数据类型的默认值,请在创建表时指定DEFAULT NOW()子句。例如:
CREATE TABLE example_table (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
created_at DATETIME DEFAULT NOW()
);
在上面的示例中,created_at列的默认值为NOW()函数的返回值。在插入新行时,将使用当前日期和时间作为created_at的值。
示例代码
以下是一个使用NOW()函数设置datetime数据类型默认值的示例:
CREATE TABLE example_table (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
created_at DATETIME DEFAULT NOW()
);
INSERT INTO example_table (name) VALUES ('John');
在上面的示例中,当向example_table表插入新行时,created_at列将自动填充当前日期和时间。
结论
通过将NOW()设置为datetime数据类型的默认值,可以在向数据库中插入新行时自动填充当前时间。这是一个简单而有用的技巧,在web应用程序和其他MySQL项目中都很有用。