如何在 MsSQL 中创建 created_at 和 updated_at 字段?
How to make created_at and updated_at fields in MsSQL?
我想在 MsSQL 中创建 created_at
和 updated_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_at
和 updated_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。
我想在 MsSQL 中创建 created_at
和 updated_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_at
和 updated_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。