我想在 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一些問題。
uj5u.com熱心網友回復:
完整代碼:
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
還使用 SYSDATETIME() 代替 CURRENT_TIMESTAMP。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/366937.html
標籤:sql-server 数据库 日期 时间戳
上一篇:Dockercompose-無法連接到SQLServerManagementStudio中的SQLServer資料庫
