0

我在 SQL Server 上有这张表,如果有人将特定的短信发送到特定号码,则会更新该表。

我所做的是我输入了一个新表,这是一个时间戳。现在,问题是,当添加新行时,我在时间戳值中得到了这个:

<binary data>

为什么会这样?我该怎么办?

谢谢!

4

2 回答 2

2

如果要记录插入行的日期和时间,请使用具有默认约束的datetime(或者datetime2,如果使用 SQL Server 2008 或更高版本)列:

ALTER TABLE tab add time_added datetime2
ALTER TABLE tab add constraint DF_tab_time_added
    DEFAULT (CURRENT_TIMESTAMP) for time_added

timestamp是 的(名字不好)同义词rowversion,它与实际的日期和时间没有关系:

timestamprowversion数据类型的同义词

数据类型只是一个递增的rowversion数字,不保留日期或时间。

于 2012-12-14T08:23:47.417 回答
2

我们需要datetime为列使用数据类型,用于捕获当前/更新/插入日期或时间。

TIMESTAMP存储更新/插入的版本。

ALTER TABLE <TABLENAME>
ADD CONSTRAINT <CONSTRAINT_NAME> DEFAULT getdate() FOR <COLUMN_NAME>
于 2012-12-14T08:29:43.260 回答