如何设置mysqldatetime列的默认值?

  • Post category:other

如何设置MySQL datetime列的默认值?

在MySQL中,datetime是一种常用的数据类型,用于存储日期和时间。在创建表时,我们可以为datetime列指定值,以确保在插入新行时,该列始终具有一个值。本攻略将介绍如何设置MySQL datetime列的默认值。

方法一:使用NOW()函数

在MySQL中,可以使用NOW()函数来获取当前日期和时间。我们可以将NOW()函数作为datetime列的默认值,以确保在插入新行时,该列始终具有当前日期和时间。以下是一个示例:

CREATE TABLE my_table (
  id INT KEY,
  created_at DATETIME DEFAULT NOW()
);

在上面的示例中,我们创建了一个名为my_table的表,其中包含一个名为created_at的datetime列。我们将NOW()函数作为created_at列的默认值,这样在插入新时,created_at列将始终具有当前日期和时间。

方法二:使用特定的日期和时间格式

在MySQL中,我们还可以使用特定的日期和时间格式来指定datetime列的默认值。例如,我们可以使用以下格式来指定日期和时间:

  • YYYY-MM-DD HH:MM:SS
  • YYYY-MM-DD HH:MM:SS.uuuuuu

其中,YYYY表示年份,MM表示月份,DD表示日期,HH表示小时,MM表示分钟,SS表示秒,uuuuuu表示微秒。以下是一个示例:

CREATE TABLE my_table (
  id INT PRIMARY KEY,
  created_at DATETIME DEFAULT '2023-05-08 12:00:00'
);

在上面的示例中,我们创建了一个名为my_table的表,其中包含一个名为created_at的datetime列。我们将特定的日期和时间格式作为created_at列的默认值,这样在插入新行时,created_at列将始终具有指定的日期和时间。

示例说明

以下是两个示例说明,分别演示了如何使用NOW()函数和特定的日期和时间格式来设置MySQL datetime列的默认值。

示例一

假设我们要创建一个名为users的表,其中包含一个名为created_at的datetime列。以下是使用NOW()函数设置created_at列的默认值的代码:

CREATE TABLE users (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  created_at DATETIME DEFAULT NOW()
);

在上面的示例中,我们使用NOW()函数将当前日期和时间作为_at列的默认值。这样,在插入新行时,created_at列将始终具有当前日期和时间。

示例二

假设我们要创建一个名为orders的表,其中包含一个名为created_at的datetime列。以下是使用特定的日期和时间格式设置created_at列的默认的代码:

CREATE TABLE orders (
  id INT PRIMARY KEY,
  customer_id INT,
  total DECIMAL(10, 2),
  created_at DATETIME DEFAULT '2023-05-08 12:00:00'
);

在上面的示例中,使用特定的日期和时间格式将’2023-05-08 12:00:00’作为created_at列的默认值。这样,在插入新行时,created_at列将始终具有指定的日期和时间。

总结

在本攻略中,我们介绍了如何设置MySQL datetime列的默认值。我们可以使用NOW()函数获取当前日期和时间,或者使用特定的日期和时间格式来指定datetime列的默认值。我们还提供了两个示例说明,演示了如何使用NOW()函数和特定的日期和时间格式来设置MySQL datetime列的默认值。在创建表时,需要注意datetime列默认值,以确保在插入新行时,该列始终具有一个值。