I want to make created_at and updated_at in MsSQL.
Here is query:
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,
);
With created_at everything is fine, but on filed updated_at - here, ON UPDATE CURRENT_TIMESTAMP I get an error. DataGrip say something about dialect, and this is MySQL dialect, I guess.
So, how can I create those created_at and updated_at fields? I've created created_at, but with updated_at I have some problems.
The complete code :
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
Also use SYSDATETIME() instead of CURRENT_TIMESTAMP.