当前位置: 首页 > 编程笔记 >

在MySQL中添加具有当前时间的新列作为默认值?

笪涛
2023-03-14
本文向大家介绍在MySQL中添加具有当前时间的新列作为默认值?,包括了在MySQL中添加具有当前时间的新列作为默认值?的使用技巧和注意事项,需要的朋友参考一下

为此,可以在MySQL中使用DEFAULT CURRENT_TIMESTAMP子句。以下是语法-

CREATE TABLE yourTableName
(
   yourColumnName1 dataType1,
   yourColumnName timestamp DEFAULT CURRENT_TIMESTAMP
);

让我们首先创建一个表-

mysql> create table DemoTable
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> DueDate timestamp default current_timestamp
   -> );

现在您可以使用insert命令在表中插入一些记录-

mysql> insert into DemoTable values();

使用select语句显示表中的所有记录-

mysql> select *from DemoTable;

输出结果

+----+---------------------+
| Id | DueDate             |
+----+---------------------+
| 1  | 2019-06-08 21:35:58 |
+----+---------------------+
1 row in set (0.00 sec)
 类似资料:
  • 问题内容: 我正在寻找将列添加到默认值为0的MySQL数据库的语法 参考 问题答案: 尝试这个: 从链接到的文档中: 要在页面下方查找搜索语法,请执行以下操作: column_definition子句对ADD和CHANGE使用与CREATE TABLE相同的语法。请参见第12.1.17节“创建表语法”。 并从链接页面: 注意那里的DEFAULT这个词。

  • 我有一张有数千行的桌子。由于表最初不是在列处使用created_构造的,因此无法获取它们的创建时间戳。不过,开始获取未来行的时间戳是至关重要的。 有没有一种方法可以添加一个带有默认值NOW()的timestamp列,这样它就不会将值填充到以前的行中,而只填充到将来的行中? 如果我执行查询,它将用时间戳填充所有行:

  • 问题内容: 我正在使用Postgres DB,对于迁移,我正在使用Liquibase。我有一个ORDERS表,其中包含以下列: 我需要添加一个新列,该列将容纳上次修改订单的用户-该列应不可为空,并且应具有默认值CREATOR。对于新订单,我可以解决业务逻辑的默认值部分, 但是 问题是我已经有一个现有订单,因此在创建新列时需要设置默认值。现在,我知道我可以在Liquibase中设置一个硬编码的默认值

  • 我使用的是Postgres DB,对于迁移,我使用的是Liquibase。我有一个包含以下列的订单表: 我需要添加一个新的列,它将保存上次修改订单的用户-此列不应为空,并应具有默认值,即创建者。对于新订单,我可以解决业务逻辑的默认值部分,但问题是我已经有一个现有订单,我需要在创建新列时设置默认值。现在,我知道我可以在Liquibase中设置一个硬编码的默认值,但是有没有一种方法可以基于该表的其他列

  • 我有一个不带时区的时间戳列,希望将其默认值设置为UTC中的当前时间。以UTC为单位获取当前时间很容易: 如使用列的当前时间戳: 但这使用当地时间。尝试将其强制为UTC会导致语法错误:

  • 问题内容: 我正在开发一个支持Google两步验证的应用程序。此应用程序还支持“可信任此设备30天”的功能。 我使用数据库保存所有这些信息,例如IP地址和到期时间。现在,当我填写时间戳以将当前时间增加30天时,它将比当前时间早的时间戳插入数据库中。 例如:当前时间= 。现在,当我加上30天(毫秒)时,得出的日期不是30天,而是大约19天。 问题答案: 此问题与32位整数溢出有关。由于整数的最大值为