【发布时间】:2014-04-30 22:25:00
【问题描述】:
我需要一个时间戳字段,每次用户修改记录时都会更新。
到目前为止,我使用的是 MySql,我什至可以在字段创建中使用它:
ALTER TABLE myTable
ADD `last_time` timestamp NOT NULL
DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP
我在 SQL Server 中找不到这种可能性。
然后我尝试编写一个触发器 - 在 MySql 触发器中这很简单:
SET new.last_time = CURRENT_TIMESTAMP();
SQL Server 似乎既不知道新语法也不知道旧语法,它在编译时给了我错误。
这个:
UPDATE myTable
SET last_time = CURRENT_TIMESTAMP;
有效,但它更新了所有行而不是当前行。
难道没有办法告诉 SQL Server 更新当前记录吗?我应该使用UPDATE .... WHERE myid = something 吗?
SQL Server 不知道它正在处理的实际记录是什么?
【问题讨论】:
标签: sql-server