将记录添加到表中时记录的日期/时间戳? [复制]

Posted

技术标签:

【中文标题】将记录添加到表中时记录的日期/时间戳? [复制]【英文标题】:Date / Timestamp to record when a record was added to the table? [duplicate] 【发布时间】:2012-05-23 13:01:45 【问题描述】:

有没有人知道当用户向数据库表中添加记录时,我可以使用它在列中添加自动日期和时间戳

【问题讨论】:

@AaronBertrand:不是重复的,因为他只要求创建时间戳。 好的,她可以忽略触发部分。 @marc_s 的答案与下面 5 个新答案中的大部分内容差不多。 这个问题是meta.***.com/q/309460/5108803的主题 【参考方案1】:

您可以在表上创建一个不可为空的 DATETIME 列,并在其上创建一个 DEFAULT 约束以在添加行时自动填充。

例如

CREATE TABLE Example
(
SomeField INTEGER,
DateCreated DATETIME NOT NULL DEFAULT(GETDATE())
)

【讨论】:

我正在向我的表中添加一个额外的列名 (DateCreated),并将“DataType”设置为“Datetime”。我已将“允许 Nulls”设置为“否”,只需输入 DEFAULT(GETDATE())。我通过右键单击表格并“修改”它来完成上述练习。我看不到将 DEFAULT(GETDATE()) 函数添加到的选项/区域?有什么想法吗? @Betty 在下面的网格中,有一个名为“绑定的默认值”的单元格 - 您可以在那里输入 GETDATE()。但是,我强烈建议学习 CREATE TABLEALTER TABLE 并使用查询窗口来处理这些事情 - 视觉设计师并不是最好的方法。 @AdaTheDev,对不起,我现在在属性中找到了这个位置。非常感谢您的帮助。【参考方案2】:

您可以在此列上设置默认约束,将默认 getdate() 作为值。

例子:

alter table dbo.TABLE 
add constraint df_TABLE_DATE default getdate() for DATE_COLUMN

【讨论】:

【参考方案3】:

您可以使用datetime 字段并将其默认值设置为GetDate()

CREATE TABLE [dbo].[Test](
    [TimeStamp] [datetime] NOT NULL CONSTRAINT [DF_Test_TimeStamp] DEFAULT (GetDate()),
    [Foo] [varchar](50) NOT NULL
) ON [PRIMARY]

【讨论】:

这很有帮助。非常感谢【参考方案4】:

您可以将GetDate() 函数作为参数传递给您的插入查询 例如

Insert into table (col1,CreatedOn) values (value1,Getdate())

【讨论】:

@Aaron。非常感谢您的帮助,因为这很有效。【参考方案5】:

如果您添加的时间戳是固定的或依赖于另一列,您可以在触发器或计算列上使用 DateAdd

【讨论】:

以上是关于将记录添加到表中时记录的日期/时间戳? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在不使用 jquery/ajax 的情况下自动将新记录插入到表中时,使用新记录更新页面的另一种方法是啥

Hive - 将数据复制到表中时出错

CassandraIO 无法保存时间戳

如何记录在 Mongoose 模式中创建记录的时间戳?

使用 SSIS 包将日期时间戳列添加到最终目标表

如何将用户特定信息(IP 地址等)记录到表中? [复制]