如何在 MsSQL 中创建 created_at 和 updated_at 字段?

How to make created_at and updated_at fields in MsSQL?

我想在 MsSQL 中创建 created_atupdated_at

这里是查询:

CREATE TABLE current_timestamp_demos
(
    id         INT PRIMARY KEY IDENTITY (1, 1),
    msg        VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
);

使用 created_at 一切都很好,但是在提交 updated_at 时 - 在这里,ON UPDATE CURRENT_TIMESTAMP 我得到一个错误。 DataGrip 说了一些关于方言的事情,我猜这是 MySQL 方言。

那么,如何创建那些 created_atupdated_at 字段?我已经创建了 created_at,但是 updated_at 我遇到了一些问题。

完整代码:

CREATE TABLE current_timestamp_demos
(
    id         INT PRIMARY KEY IDENTITY (1, 1),
    msg        VARCHAR(255) NOT NULL,
    created_at DATETIME2 NOT NULL DEFAULT SYSDATETIME(),
    updated_at DATETIME2 
);
GO

CREATE TRIGGER E_U_CTD
ON current_timestamp_demos
FOR UPDATE
AS
UPDATE T
SET updated_at = SYSDATETIME()
FROM   current_timestamp_demos AS T
       JOIN inserted AS i
          ON T.id = i.id;
GO

也使用 DATETIME() 而不是 CURRENT_TIMESTAMP。