将记录添加到表中时记录的日期/时间戳? [复制]
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 TABLE
和 ALTER 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
【讨论】:
以上是关于将记录添加到表中时记录的日期/时间戳? [复制]的主要内容,如果未能解决你的问题,请参考以下文章