0

SQL Server にこのテーブルがあり、誰かが特定の SMS メッセージを特定の番号に送信すると更新されます。

私がしたことは、タイムスタンプの新しいテーブルを入力したことです。さて、問題は、新しい行が追加されると、タイムスタンプ値でこれを取得することです:

<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 に答える