【发布时间】:2017-04-26 03:42:12
【问题描述】:
我需要更新 MS SQL 服务器中的创建日期和更新日期列。我正在使用下面的查询来做同样的事情。但是在执行查询时,我收到一个语法错误,提示 “'ON' 附近的语法错误”。
CREATE TABLE t1 (
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
dt DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
谁能指出我哪里做错了?
【问题讨论】:
-
你想用这个
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP做什么 -
如果您想在更新发生时更新 dt 列,触发器是唯一的方法,或者在更新过程中更新该列。
-
嗯...那个链接是针对MySql的,你把它标记为sql server。它们不是一回事。
-
我认为您正在寻找计算列,例如
dt as ts -
要在 sql server 中完成此操作,您必须使用 datetime 数据类型,然后您需要在表上创建更新触发器。触发器是sql server中处理更新事件的机制。
标签: sql sql-server sql-server-2008