0

我有一个Employee带有列的表:Id, Name, Address, City, Createddate

现在,我必须在将createddate记录插入表时添加此列,而不是通过使用 INSERT STATEMENT。

是否有任何默认选项可以在将行添加到表时添加日期信息?

在这方面给我建议。

4

4 回答 4

2

将字段的默认值设置为Getdate()

于 2012-09-28T10:24:17.767 回答
2

如果没记错的话,当你创建一个表时,你可以让它自动放置值,比如身份(主键)或日期戳。请参见下面的示例:

CREATE TABLE [dbo].[table] (
      tableID [int] IDENTITY(1,1) NOT NULL
    , DatumCreate [datetime] DEFAULT GetDate() NOT NULL,
    , other values ....
    , CONSTRAINT pk_FactuurID PRIMARY KEY (FactuurID)
    ) 
GO
于 2012-09-28T10:24:32.547 回答
0

是的,您可以按照其他人的建议使用默认值(带有GetDate()),或者,如果您需要更大的灵活性(例如更新列),您可以使用触发器来检查插入的值并直接设置列值。

像这样:

CREATE TRIGGER my_trigger
   ON  my_table
   AFTER INSERT, UPDATE, DELETE
AS 
BEGIN
    if exists(select * from inserted)
    -- we're covering just insert cases here..
    begin
       insert into my_table(col1, col2, col3, ..., col_timestamp) 
       select inserted.col1, inserted.col2...., CURRENT_TIMESTAMP from inserted
    end
END

GO
于 2012-09-28T10:21:29.143 回答
-2

好吧,您不必使用 INSERT,但您可能必须使用 CREATE

MySQL 时间戳

于 2012-09-28T10:24:39.360 回答