2011-12-29 183 views
0

目前我有一個數據類型爲datetime的列,其默認約束。現在我想改變爲一個數據類型作爲時間戳。SQL Server 2008時間戳數據類型

alter table tblname 
alter column date_modified timestamp not null 

我原來的要求是,每當我更新記錄的列稱爲date_modified應與最近一次更新。

這是一個在MYSQL工作與數據類型TIMESTAMP和默認值CURRENT_TIMESTAMP

如何能在這在SQL Server 2008中我執行相同的功能?

+1

對於發佈答案的人 - 我想他問的是如何模仿MS SQL中的MySQL時間戳。我知道的唯一方法是使用觸發器(希望有人知道更優雅的解決方案) – Prescott 2011-12-29 08:44:26

+0

您可以使用觸發器來完成http://msdn.microsoft.com/en-us/library/ms189799.aspx – 2011-12-29 08:45:00

+0

我想我不會關心他的想法。我不是在閱讀他的想法。我回答他問的問題。下面的答案回答了他的問題。學習要問什麼問題 - 現在至少在出現問題時使用一次30秒鐘 - 將腳本小子與知道如何編程的人區分開來。抱歉。如果他想要回答另一個問題,他可以問這個問題。這不像提問問題需要花錢。 – TomTom 2011-12-29 08:47:09

回答

6

Timestamp in MySQLtimestamp in SQL Server不是一回事。保留您的datetime並添加after update觸發器,該觸發器將date_modified更新爲getdate()

+0

感謝您的回答,我喜歡你的回答方式。 – 2011-12-29 08:54:29

+0

謝謝@Mikael。這是我第一次做的!試圖使用SQL時間戳而不是日期時間!現在我讀到sql'timestamp'既不是UNIX'timestamp',也不是T-SQL'timestamp'。我想我必須繼續使用'datetime'。非常感謝你 – Bellash 2014-09-10 13:53:30

+0

現在我在這裏閱讀http://technet.microsoft.com/en-us/library/aa260631%28v=sql.80%29.aspx表示sql'timestamp'既不是UNIX'timestamp'也不是T-SQL'timestamp'。我想我必須繼續使用'datetime'。十分感謝 – Bellash 2014-09-10 13:54:50

4

您是否檢查了SQL Server中實際使用的TIMESTAMP類型?它與TIMESTAMP type in mysql不同。該文件說:

是數據庫中暴露自動生成的數據類型,唯一的二進制數

那麼有沒有辦法將其設置爲「當前時間」

+0

感謝您的回答 – 2011-12-29 08:48:51

相關問題